Flutter:如何获取“资产”目录中所有图像的名称列表?

我需要在列表中显示100张图像。我不想对所有名称进行硬编码。

如何获得图像名称?

我想要这样的代码:

final List<String> imageNames = await WhatEver.getNamesOfImagesInAssetsDirectory();

final widgets = imageNames.map((fileName) => Image.asset('images/${fileName}.png')).toList()

回答:

我已经实现了下面的功能 StatefullWidget

Future _initImages() async {

// >> To get paths you need these 2 lines

final manifestContent = await DefaultAssetBundle.of(context).loadString('AssetManifest.json');

final Map<String, dynamic> manifestMap = json.decode(manifestContent);

// >> To get paths you need these 2 lines

final imagePaths = manifestMap.keys

.where((String key) => key.contains('images/'))

.where((String key) => key.contains('.svg'))

.toList();

setState(() {

someImages = imagePaths;

});

}

AssetManifest.json 包含有关您添加的所有资产的所有数据 pubspec.yaml

以上是 Flutter:如何获取“资产”目录中所有图像的名称列表? 的全部内容, 来源链接: utcz.com/qa/413942.html

回到顶部