我正在尝试使用Image.network
构造函数的loadingBuilder
参数。
在加载图像时,我想显示一个CircularProgressIndicator
,其值设置为下载比率除以预期文件大小的比率。我希望可以使用ImageChunkEvent
参数的cumulativeBytesLoaded
,expectedTotalBytes
来做到这一点。
我在文档中找到了sample:
以下示例在通过网络加载图像时使用
loadingBuilder
来显示CircularProgressIndicator
。
Image.network(
'https://example.com/image.jpg',
loadingBuilder: (BuildContext context, Widget child, ImageChunkEvent loadingProgress) {
if (loadingProgress == null)
return child;
return Center(
child: CircularProgressIndicator(
value: loadingProgress.expectedTotalBytes != null
? loadingProgress.cumulativeBytesLoaded / loadingProgress.expectedTotalBytes
: null,
),
);
},
),
但是问题是loadingProgress
始终是null
,所以我正在做的整个loadingBuilder
伪装毫无意义。
为什么ImageChunkEvent loadingProgress
不传递给具有真实值的loadingBuilder
函数?
答案 0 :(得分:-1)
记住将或gif放在assets
文件夹中,并在pubspec.yaml
中引用它
FadeInImage.assetNetwork(
placeholder: 'assets/loading.gif',
image: 'https://backend.example.com/image.png',
);
有关更多信息: https://api.flutter.dev/flutter/widgets/FadeInImage-class.html
答案 1 :(得分:-1)
也许图像尺寸较小,因此可以立即加载,请尝试使用其他较大的网络图像进行测试。