image 图片
image 支持显示数据容器、应用程序资源、URL 或编程式提供的图片源。
XML 元素 |
|
|---|---|
Java 类 |
|
数据感知的 image
使用 dataContainer 和 property 属性可以显示实体 FileRef 或 byte[] 类型的图片属性。下面的示例中,上传组件和 image 都与实体的 content 属性绑定,因此该属性的更改会立即显示:
<data>
<instance id="pictureDc"
class="io.jmix.uisamples.entity.Picture"
fetchPlan="_local"/>
</data>
<layout>
<fileUploadField label="Load new image" dataContainer="pictureDc" property="content"
clearButtonVisible="true" fileNameVisible="true" acceptedFileTypes=".png"/>
<image height="10em" width="10em"
alternateText="No picture loaded"
dataContainer="pictureDc" property="content"/>
</layout>
URL 和编程式资源
外部图片 URL 可以在 resource 属性设置。对于运行时创建的资源,可以使用 DownloadHandler 并调用 setSrc() 方法。下面的示例演示了这两种方式。
静态网络资源一般放在 classpath 的 /static、/public、/resources 或 /META-INF/resources 中。如果需要匿名访问这些资源,请参考 静态公共资源。
XML
<layout justifyContent="BETWEEN" classNames="horizontal-layout">
<vbox padding="false" width="AUTO" alignItems="CENTER">
<h4 text="URL resource"/>
<image resource="https://demo.jmix.io/ui-samples/icons/image-sample.svg"
height="15em" width="15em"/>
</vbox>
<vbox padding="false" width="AUTO" alignItems="CENTER">
<h4 text="Programmatic resource"/>
<image id="imageProgrammaticResource"
height="15em" width="15em"/>
</vbox>
</layout>
Java
protected static final String SRC_PATH = "/META-INF/resources/icons/image-sample.svg";
@ViewComponent
protected JmixImage<?> imageProgrammaticResource;
@Subscribe
protected void onInit(InitEvent event) {
imageProgrammaticResource.setSrc(DownloadHandler.forClassResource(getClass(), SRC_PATH));
}
样式版本
使用 themeNames 设置图片如何适配两个空间维度。
| 样式 | 描述 | 支持的主题 |
|---|---|---|
|
拉伸图像以填充两个维度。 |
Aura, Lumo |
|
缩放图像以适应空间(不裁剪)。 |
Aura, Lumo |
|
缩放并剪裁图片以覆盖整个空间。 |
Aura, Lumo |
|
使用自然尺寸和 |
Aura, Lumo |
XML 属性
通用属性 对所有组件都是一样的配置。
下面是 image 的特殊属性:
| 名称 | 描述 | 默认值 |
|---|---|---|
设置图片的替代文本。如果图片资源未设置或不可用。 |
— |
|
设置图片的资源位置。参阅 URL 和编程式资源。 |
— |
|
使用 样式版本 中列出的一个或多个样式。 |
— |
事件和处理器
通用事件和处理器 对所有组件都是一样的配置。
下面是 image 的特殊事件和处理器:
| 名称 | 描述 |
|---|---|
当用户点击图片时触发。使用 |
本页是否有帮助?
感谢您的反馈