cod*_*_86 7 widget dart flutter
我正在使用 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")),
],
);
},
),
Run Code Online (Sandbox Code Playgroud)
如何告诉小部件在加载后显示图像?谢谢。
child从loadingBuilder何时为空返回loadingProgress将起作用。样本:
loadingBuilder: (context, child, loadingProgress) {
if(loadingProgress == null)
return child;
return Center(
child: CircularProgressIndicator(
value: (loadingProgress != null)
? (loadingProgress.cumulativeBytesLoaded /
loadingProgress.expectedTotalBytes)
: 0,
),
);
},
Run Code Online (Sandbox Code Playgroud)
使用CachedNetworkImage它加载图像并提供错误和加载小部件。
dependencies:
cached_network_image: ^2.3.3
Run Code Online (Sandbox Code Playgroud)
代码:
CachedNetworkImage(
imageUrl: "http://via.placeholder.com/200x150",
imageBuilder: (context, imageProvider) => Container(
decoration: BoxDecoration(
image: DecorationImage(
image: imageProvider,
fit: BoxFit.cover,
colorFilter:
ColorFilter.mode(Colors.red, BlendMode.colorBurn)),
),
),
placeholder: (context, url) => CircularProgressIndicator(),
errorWidget: (context, url, error) => Icon(Icons.error),
),
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4131 次 |
| 最近记录: |