SUD*_*ARA 2 error-handling try-catch flutter flutter-assetimage
有没有办法在 Flutter 中捕获“无法加载资产:资产/图像/sample_img_url.png”错误?
我想要做的是通过提供其路径(来自 API)来加载资产图像。但是,如果我没有与给定路径关联的图像,则需要加载示例图像。
我创建了一个自定义占位符小部件,如下所示。但是它并没有像我预期的那样工作。任何人都可以帮助我吗?
class ImagePlaceHolder extends StatelessWidget {
final String path;
final double width;
const ImagePlaceHolder({Key key, this.path, this.width}) : super(key: key);
@override
Widget build(BuildContext context) {
Image finalImage;
try{
finalImage = Image.asset(
path,
width: width,
);
}
catch(Exception){
finalImage = Image.asset(
"assets/images/app_update_logo.png",
width: width,
);
}
return finalImage;
}
}
Run Code Online (Sandbox Code Playgroud)
好的,最后我找到了一个非常好的方法来克服这个问题。只需使用错误构建器。
Image.asset(
"assets/images/subjects/api_given_image_name.png",
width: 90,
errorBuilder: (BuildContext context, Object exception, StackTrace stackTrace) {
return Image.asset(
"assets/images/your_sample_image.png",
width: 90,
);
},
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1157 次 |
| 最近记录: |