【问题标题】:Flutter gridview with fake item for adding data带有用于添加数据的虚假项目的 Flutter gridview
【发布时间】:2020-05-23 22:57:14
【问题描述】:

假设我有一个这样的网格视图:

    class ImagesGrid extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        final size = MediaQuery.of(context).size;
        final imagesData = Provider.of<Pictures>(context);
        final images = imagesData.items;
        return GridView.builder(
          gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
            crossAxisCount: 3,
            childAspectRatio: size.width / size.height ,
          ),
          padding: const EdgeInsets.all(10.0),
          itemCount: images.length + 1,
          itemBuilder: (ctx, i) => ChangeNotifierProvider.value(
            value: images[i],
            child: images.length == 0  ? Text('No images'):  ImageWidget(),
          ),
        );
      }
    }

现在,假设我希望在这个GridView 中添加一个FlatButton 作为最后一项,它将用于添加其他数据。我该怎么做?

【问题讨论】:

    标签: flutter flutter-provider flutter-gridview


    【解决方案1】:
    class ImagesGrid extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        final size = MediaQuery.of(context).size;
        final imagesData = Provider.of<Pictures>(context);
        final images = imagesData.items;
        return GridView.builder(
          gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
            crossAxisCount: 3,
            childAspectRatio: size.width / size.height ,
          ),
          padding: const EdgeInsets.all(10.0),
          itemCount: images.length + 1,
          itemBuilder: (ctx, i) {
            if(i==images.length) return FlatButton( // Add child and onPressed params );
            return ChangeNotifierProvider.value(
                value: images[i],
                child: images.length == 0  ? Text('No images'):  ImageWidget(),
            );
          },
        );
      }
    }
    

    希望我能帮到你。

    【讨论】:

      猜你喜欢
      • 2021-03-15
      • 1970-01-01
      • 2013-08-04
      • 2018-09-09
      • 1970-01-01
      • 2020-01-05
      • 2014-01-10
      • 2023-01-13
      • 2012-11-30
      相关资源
      最近更新 更多