有什么办法可以将大量资产图像显示为列表视图?

时间:2020-06-14 10:26:12

标签: flutter dart flutter-layout

我的应用中大约有300余张图片作为素材资源图片。我想在我的应用程序中显示所有简短说明。有什么方法可以将它们显示为列表视图,而不是分别提供其路径?我希望有一种这样的方法,以便我可以使用它们的索引访问每个。

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

如果没有,请...建议我最好的方式来显示如此大量的资产图像。

1 个答案:

答案 0 :(得分:1)

声明列表变量

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