我想要做的是将图像加载到 Material 小部件中以在ListTile中使用它,但是此 Assets 可能不存在。
class MyImage extends StatelessWidget {
final imagePath;
MyIcon(String iconName) {
try { // check if imagePath exists. Here is the problem
imagePath = check('assets/$iconName.png/');
} catch (e, s) { // if not
imagePath = 'assets/$iconName.png/';
}
}
@override
Widget build(BuildContext context) {
return Material(...here I will load the imagePath...);
}
}
因此,由于我使用的是无状态小部件,因此我必须事先知道该图像是否存在,否则我会加载null吗?
我对Futter很陌生,所以我不知道这是否是一个明显的问题
谢谢!
最佳答案
为了查看应用程序的内部本地存储中是否存在文件,请使用:
import 'dart:io' as io;
// for a file
io.File(path).exists();
// for a directory
io.Directory(path).exists();
关于dart - flutter 。加载前检查文件是否存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52614610/