Flutter-失败时默认为Image.network
有什么方法可以控制Image.network()启动的异常,以便为它提供默认的AssetImage吗?
回答:
这取决于您的用例,但是一种实现方法是使用FadeInImage
,该属性具有的属性img
要用于要加载的图像placeholder
,以及占位符
FadeInImage(image: NetworkImage(url), placeholder: AssetImage(assetName)
您也可以收听直到图像加载完毕,然后自己显示一个占位符,直到解析出图像为止。
bool _loaded = false;var img = Image.network(src);
var placeholder = AssetImage(assetName)
@override
void initState() {
super.initState();
img.image.resolve(ImageConfiguration()).addListener((i, b) {
if (mounted) {
setState(() => _loaded = true);
}
});
}
@override
Widget build(BuildContext context) {
return YourWidget(
child: _loaded ? img : placeholder,
);
}
以上是 Flutter-失败时默认为Image.network 的全部内容, 来源链接: utcz.com/qa/431478.html