1

我有一个 GridView.builder,其 shrinkWrap 为 true。它动态填充,但在开始时它为空但发生的问题,就像它有元素(某种保留位置)取决于 maxCrossAxisExtent 的大小。有可能改变这个吗?空白空间不是很好。我查看了文档和谷歌,但没有找到任何答案。

这是代码

class _PhotosState extends State<Photos> {
  List<File> photos = [];

  final ImagePicker _picker = ImagePicker();

  Widget getGrid() {
    return Container(
      child: GridView.builder(
        padding: EdgeInsets.all(0),
        shrinkWrap: true,
        physics:  NeverScrollableScrollPhysics(),
        gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent(

          maxCrossAxisExtent: 200,
          //childAspectRatio: 3 / 2,
          // crossAxisSpacing: 10,
          // mainAxisSpacing: 10,
          //mainAxisExtent: 200,
        ),
        itemCount: photos.length,
        itemBuilder: (BuildContext ctx, index) {
          return Container(
            color: Colors.blueGrey,
          );
        },
      ),
    );
  }

空白的 GridView 网格为空时的空白空间

向 GridView 添加了一个元素 添加了一个元素

4

1 回答 1

0

尝试

  Widget getGrid() {
    return photos.length<1?SizedBox():
           Container(
      child: GridView.builder(
于 2021-08-27T09:03:12.963 回答