图片组件是显示图像的组件,它有多种构造函数:
- Image:从ImageProvider获取图片,就是加载项目资源目录下图片
- Image.asset:加载资源图片
- Image.file:加载本地图片文件,加载地址为文件的绝对路径
- Image.network:加载网络图片
- Image.memory:加载Unit8List资源图片
Image组件常见属性:
属性名 | 类型 | 说明 |
---|---|---|
image | ImageProvider | 抽象类,需要自己实现获取图片数据的操作 |
width/height | double | Image显示区域的宽度/高度设置 这里需要把Image和图片区分开,图片本身有大小, Image Widget是图片的容器,本身也有大小。 宽度和高度的配置经常和fit属性配合使用 |
fit | BoxFit | 图片填充模式,详见下一表 |
color | Color | 图片颜色 |
colorBlendMode | BlendMode | 在对图片进行手动处理的时候, 可能用到图层混合,如改变图片的颜色。 可以对颜色进行混合处理,有多种模式 |
alignment | Alignment | 控制图片的摆放位置,如放置在右下角Alignment.bottomRight |
repeat | ImageRepeat | 设置图片重复模式: noRepeat为不重复, repeat为x方向和y方向重复, repeatX为x方向重复, repeatY为y方向重复。 |
centerSlice | Rect | 当图片需要被拉伸显示时,centerSlice定义的矩形区域会被拉伸, 可以理解为我们在图片内部定义了9个点的矩形区域用作拉伸, 9个点分别为:上、下、左、右、上中、下中、左中、右中、正中。 |
matchTextDirection | bool | matchTextDirection和Directionality配合使用, TextDirection有两个值分别为:TextDirection.ltr从左向右展示图片,TextDirection.rtr从右向左展示图片 |
gaplessPlayback | bool | 当ImageProvider发生变化后,重新加载图片的过程中,原图片的展示是否保留, true保留;false不保留,直接空白显示下一张图片加载 |
BoxFit取值及描述:
取值 | 描述 |
---|---|
BoxFit.fill | 全图显示,显示可能拉伸、充满 |
BoxFit.contain | 全图显示,显示原比例,不需充满 |
BoxFit.cover | 显示可能拉伸,裁剪,充满 |
BoxFit.fitWidth | 显示可能拉伸,可能裁剪,宽度充满 |
BoxFit.fitHeight | 显示可能拉伸,可能裁剪,高度充满 |
BoxFit.none | 原始大小 |
BoxFit.scaleDown | 效果和BoxFit.contain差不多,但不可显示超过原图大小,即可小不可大 |