有五个构造函数:
- new Image:用于从ImageProvider获取图像
- new Image.asset:用于使用key从AssetBundle获取图像
- new Image.network:用于从URL地址获取图像
- new Image.file:用于从File获取图像
- new Image.memory:用于从字节数组获取图像
除了new Image构造函数,其它四个都是调用new Image,只是提供的ImageProvider不一样,下面就介绍new Image中可使用的属性。
属性说明:
image:ImageProvider,用于实现图像文件的获取,最后交由Image显示出来,这是Image组件最重要的部分
semanticLabel:图像的描述文本,当开起盲人模式时,选中此Image时会朗读semanticLabel设置内容。
excludeFromSemantics:是否将此图像从语义中排除,对于不为应用程序提供有意义信息的图像有用。
width:指定宽度
height:指定高度
color:与colorBlendMode配合使用,将此颜色用BlendMode方式混合图片
colorBlendMode:图像混合模式,类似原生Android的PorterDuffXferMode,但是多出几种混合模式。
混合模式详解传送门。
fit:图像缩放模式。缩放类型详解传送门
alignment:图片的展示位置
repeat:当图片不足以填充满Image的大小时,重复绘制的模式,默认值ImageRepeat.noRepeat。
ImageRepeat的枚举值:
- repeat:在x轴y轴重复绘制图片以填充满Image组件
- repeatX:只在x轴重复绘制图片以填充满Image组件宽度
- repeatY:只在y轴重复绘制图片以填充满Image组件高度
- noRepeat: 不进行重复绘制
centerSlice:当给定的要展示的图片是.9图时,指定拉伸的区域。centerSlice指定的矩形图像区域将被水平和垂直拉伸,以使图像适应其目标。矩形上下的图像区域只会水平拉伸,矩形左右的图像区域只会垂直拉伸。
matchTextDirection:图像的绘制起点是否跟随文字方向,比如一些阿拉伯语言是从右往左,此时图片的绘制圆点在右上角,默认情况下是在左上角(0,0)。
gaplessPlayback:当ImageProvider提供的图片发生变化且获取新图像失败时,Image是展示旧图像还是什么都不展示,默认false:什么都不展示,true:依然显示获取新图像之前的图像。当ImageProvider提供的图片发生变化且获取成功,始终显示新图像。