首页 > 解决方案 > 有没有办法将大量资产图像显示为列表视图?

问题描述

我的应用中有大约 300 多张图片作为资产图片。我想在我的应用程序中显示它们的简短描述。有没有办法将它们显示为列表视图而不是单独给出它们的路径?我希望有一种这样的方法,以便我可以使用它们的索引访问每个。

ListView.builder(
    itemCount: litems.length,
    itemBuilder: (BuildContext ctxt, int index) {
     return Text(litems[index]);
    }
)

另外,如果不是...请建议我显示如此大量资产图像的最佳方式。

标签: flutterdartflutter-layout

解决方案


声明列表变量

List<String> imagesList;

获取图片:

 Future _initImages() async {
    final manifestContent =
        await DefaultAssetBundle.of(context).loadString('AssetManifest.json');

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


    final imagePaths = manifestMap.keys
        .where((String key) => key.contains('images/')) // mention folder where all images exists
        .toList();

    setState(() {
      imagesList = imagePaths;
    });
  }

从 initState() 调用

 @override
  void initState() {
    // TODO: implement initState
    super.initState();
    _initImages();
  }

最后,您可以imagesList在您的ListView


推荐阅读