我想要做的是将图像加载到 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/

10-15 08:19