我们在上一章回中介绍了"如何管理输入框中的光标"相关的内容,本章回中将介绍FadeInImage组件的用法.闲话休提,让我们一起Talk Flutter吧。
1. 概念介绍
我们在一上章回中提到了FadeInImage组件,本章回中将介绍它的使用方法。该组件是Flutter框架提供的一个预加载并实现淡入动画效果的图像组件,主要用于解决
网络图片加载过程中可能出现的白屏或闪烁问题,也就是我们在上一章回中提到的图片显示比较慢的问题。当图片数据还在加载时,它可以先显示占位图,待实际图片加载
完成后,通过淡入动画无缝切换至实际图片,极大地提升了用户体验,而且可以解决图片显示比较慢的问题。
2. 使用方法
2.1 基本用法
和其它组件一样,FadeInImage组件提供了相关的属性来控制自己,下面是常用的属性:
- placeholder属性:该属性用来控制在加载网络图片之前显示的占位图片资源,它的值可以是AssetImage或其他类型的ImageProvider;
- image属性:该属性主要用来控制被加载的网络图片,它的值是可以是一个NetworkImage对象,也可以是其他类型的ImageProvider;
- fit属性:该属性主要用来控制图片如何适应其父容器,这个是图片类组件中最常用的属性,也是最基本的属性;
- fadeInDuration属性:该属性主要用来控制网络图片淡入动画的时长;
- errorWidgeto属性:该属性主要用来控制显示的错误提示图标或者文字;
2.2 管理缓冲
FadeInImage组件已经内置了对图片缓存的支持,它会利用全局的imageCache来存储加载过的图片资源。如果我们想更深入地控制图片缓存策略,例如自定义缓存大小
或清理缓存,可以访问并配置PaintingBinding.instance.imageCache。我们将在后面的小节中通过具体的示例代码来演示。