将图像添加到列表Flutter

时间:2019-09-03 15:59:26

标签: listview flutter dart

我想做这样的事情。首先,process.on('message', ({id, msg}) => { process.send({id, msg: msg.split("").reverse().join("")}) }); 中有一个按钮。当点击按钮时,它将允许用户从图库中选择图像。

enter image description here

选择后,所选图像将被放置到listView上,并且按钮将移至下图所示的另一个项目。

enter image description here

这是我的输出。

之前

enter image description here

之后

enter image description here

我的代码

ListView

1 个答案:

答案 0 :(得分:2)

我按照您在docs中使用的软件包中的一些说明进行操作。

然后我通过编辑一些文档代码来解决问题。

编辑之前

Widget buildGridView() {
    return GridView.count(
      crossAxisCount: 3,
      children: List.generate(images.length, (index) {
        Asset asset = images[index];
        return AssetThumb(
          asset: asset,
          width: 300,
          height: 300,
        );
      }),
    );
  }

编辑后

Widget buildGridView() {
    return GridView.count(
      crossAxisCount: 3,
      children: List.generate(images.length + 1, (index) {
        if (index < images.length) {
          Asset asset = images[index];
          return AssetThumb(
            asset: asset,
            width: 300,
            height: 300,
          );
        } else {
          return GestureDetector(
            child: Image.asset(
              "assets/images/add.jpg",
              width: 300,
              height: 300,
            ),
            onTap: loadAssets,
          );
        }
      }),
    );
  }

因此根据您的代码,它将是

 new SizedBox(
      height: 200.0,
      width: double.infinity,
      child: new ListView.builder(
        scrollDirection: Axis.horizontal,
        itemCount: snapshot.data.length + 1,
        itemBuilder: (BuildContext context, int index) => new Padding(
            padding: const EdgeInsets.all(5.0),
            child: (index < snapshot.data.length) ? AssetThumb(
              height: 200,
              width: 200,
              asset: snapshot.data[index],
            ) : GestureDetector(
            child: Image.asset(
              "assets/images/add.jpg",
              width: 200,
              height: 200,
            ),
            onTap: loadAssets,
          )),
      ),

我希望它与您配合良好。