flutter - 使用 loadingBuilder 时 Flutter Image.network 不显示?
问题描述
我正在使用 Image.network 从网络加载图像。当我简单地传递 url 时,图像工作正常。它将在几秒钟后显示。但是当我使用 loadingBuilder 和 errorBuilder 时,图像被加载但不显示。我在 loadingBuilder 中创建的循环进度完成并消失,但未显示图像。
这里代码
Image.network(
widget._imgLink,
loadingBuilder: (context, child, loadingProgress) {
return Center(
child: CircularProgressIndicator(
value: (loadingProgress != null)
? (loadingProgress.cumulativeBytesLoaded /
loadingProgress.expectedTotalBytes)
: 0,
),
);
},
errorBuilder: (context, error, stackTrace) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("Error loading"),
FlatButton(onPressed: () {}, child: Text("Retry")),
],
);
},
),
如何告诉小部件在加载后显示图像?谢谢你。
解决方案
child
从loadingBuilder
何时返回loadingProgress
null 将起作用。样本:
loadingBuilder: (context, child, loadingProgress) {
if(loadingProgress == null)
return child;
return Center(
child: CircularProgressIndicator(
value: (loadingProgress != null)
? (loadingProgress.cumulativeBytesLoaded /
loadingProgress.expectedTotalBytes)
: 0,
),
);
},
推荐阅读
- angular - NativeScript Paytm 集成在初始化交易时显示 404 错误
- r - Fontawesome 5.13.0 在 visNetwork 中不起作用
- c - 为什么make会执行我从未在makefile中写过的命令以及如何调试它?
- c# - [ApiController] 属性有什么作用?
- javascript - 如何在javascript中将对象转换为有效的css样式?
- vnc - Tiger VNC在环回IP地址上创建会话
- http - 监控通过 wininet.dll 发生的传入和传出 http 流量
- java - 实体转 Excel?
- angular - 尝试将数字格式化为数据库中的时间格式
- jquery - 把计数器变成罗马字母