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

回到顶部