Flutter实战之Image和FadeInImage

Flutter的Image 这个Widget提供了如下几种常用的方式加载不同的图片

Image.asset:用来加载本地资源图片(图片需要在pubsepc.yaml文件中配置)
Image.file:用来加载本地File文件图片
Image.network:顾名思义,用来加载网络图片
Image.memory:用来加载Uint8List资源图片
Image:通过ImageProvider来加载图片,或者用来自定义ImageProvider来定义自己的图片控件
通过本篇博文,你可以了解到Image的加载流程、图片加载失败的监听等功能

ImageProvider与Image控件的关系

通过研究Image控件其源码可知,Image是通过ImageProvider来实现图片的解析和展示的:

class Image extends StatefulWidget{
   ///加载图片是通过ImageProvider来完成的
   ImageProvider image;
}

上面Image的每个形式都有一个ImageProvider对象与之对应,比如Image.file就对应有一个FileImage,这个FileImage就是ImageProvider的实现类。ImageProvider的子类如下图所示(图1):

猜你喜欢

转载自blog.csdn.net/chunqiuwei/article/details/103585369