【发布时间】:2021-03-02 05:54:31
【问题描述】:
我想获取 /assets/images/wallpapers/ 目录的所有图像列表并将它们存储在 List 类型变量中以进一步使用它们,我该如何在颤振中做到这一点?
非常感谢。
【问题讨论】:
我想获取 /assets/images/wallpapers/ 目录的所有图像列表并将它们存储在 List 类型变量中以进一步使用它们,我该如何在颤振中做到这一点?
非常感谢。
【问题讨论】:
您可以通过加载AssetManifest.json获取所有资产的列表,然后按文件夹过滤。
import 'dart:convert';
Future _listAssets() async {
// Load as String
final manifestContent =
await DefaultAssetBundle.of(context).loadString('AssetManifest.json');
// Decode to Map
final Map<String, dynamic> manifestMap = json.decode(manifestContent);
// Filter by path
final filtered = manifestMap.keys
.where((path) => path.startsWith('assets/images/wallpapers/'))
.toList();
print(filtered);
}
【讨论】: