1.继承关系
Object > Diagnosticablet > DiagnosticableTreet > Widgett > StatefulWidgett > Image
2.介绍
一个显示图片的widget,支持图像格式:JPEG,PNG,GIF,动画GIF,WebP,动画WebP,BMP和WBMP
3.创建Image
一共有五种方法:
Image() |
构造方法 |
Image.asset |
加载资源图片 |
Image.file |
加载本地图片 |
Image.network |
加载网络图片 |
Image.memory |
加载Uint8List资源图片 |
4.Image()
构造方法创建,构造方法:
const Image({
Key key,
@required this.image,
this.semanticLabel,
this.excludeFromSemantics = false,
this.width,
this.height,
this.color,
this.colorBlendMode,
this.fit,
this.alignment = Alignment.center,
this.repeat = ImageRepeat.noRepeat,
this.centerSlice,
this.matchTextDirection = false,
this.gaplessPlayback = false,
this.filterQuality = FilterQuality.low,
}) : assert(image != null),
assert(alignment != null),
assert(repeat != null),
assert(filterQuality != null),
assert(matchTextDirection != null),
super(key: key);
下面参数详解:
4.1 Key key
官方解释:https://flutterchina.club/widgets-intro/#key
4.2 ImageProvider image
sdk已经给了ImageProvider的子类满足开发使用,一般不使用构造方法创建Image,因为其他四个静态方法分别使用到了5个子类,进行显示图片!
如Image.asset使用了ExactAssetImage或者AssetImage
image = scale != null
? ExactAssetImage(name, bundle: bundle, scale: scale, package: package)
: AssetImage(name, bundle: bundle, package: package)
4.3 String semanticLabel
图像的语义描述,用于向Andoid上的TalkBack和iOS上的VoiceOver提供图像描述
talkback是一款由谷歌官方开发的系统软件,它的定位是帮助盲人或者视力有障碍的用户提供语言辅助
Voiceover功能是APPLE公司在2009年4月新推出的一种语音辅助程序
4.4 bool excludeFromSemantics = false
是否启用图像的语义描述
4.5 double width
控件宽度
4.6 double height
控件高度