我试图将列的高度动态地转换为,因为我拥有的产品越多,我需要的列的高度就越高,下面就是我的代码

Container(
          width: double.infinity,
          height: 1000,
          child: GridView.builder(
            physics: NeverScrollableScrollPhysics(),
            itemCount: productsList.length,
            gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                crossAxisCount: 2,
                childAspectRatio: 22 / 30,
                mainAxisSpacing: 5,
                crossAxisSpacing: 3),
            itemBuilder: (ctx, i) {
              return ChangeNotifierProvider.value(
                value: productsList[i],
                child: FeedsProduct(),
              );
            },
          ),
        ),

如何动态设置容器高度?

推荐答案

GridView中有一个名为:shrinkWrap的属性,请参见shrinkWrap property

在这里你可以找到简单的例子

class SimpleExample extends StatelessWidget {
  const SimpleExample({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(
      child: SingleChildScrollView(
        child: Column(
          children: [
            GridView.builder(
              physics: NeverScrollableScrollPhysics(),
              itemCount: 30,
              shrinkWrap: true,
              gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                  crossAxisCount: 2,
                  childAspectRatio: 22 / 30,
                  mainAxisSpacing: 5,
                  crossAxisSpacing: 3),
              itemBuilder: (ctx, i) {
                return Container(
                  color: Colors.grey,
                  child: Center(
                    child: Text("Item $i"),
                  ),
                );
              },
            ),
          ],
        ),
      ),
    );
  }
}

Flutter相关问答推荐

类型flatter doctor get zsh:未找到命令:macO中flatter

如何等待抖动S定时器.定期取消?

Flutter 中不存在URI的目标

相同的Flutter 代码库,但Firebase登录适用于Web应用程序,但无法登录iOS应用程序

Flutter 蜂窝单元测试

BlocBuilder仅生成一次,并在后续发出时停止重建

使小部件处于有状态状态会导致hasSize异常

为什么Spotify Auth API返回400,而";code_verier不正确?

将记录/元组用作SplayTreeMap中的键

如果我使用搜索栏,如何在嵌套滚动视图中停止自动滚动?

使用Ffltter CREATE创建项目时,androidManifest.xml中缺少包属性

Riverpod 2.0-如何使用FutureOr和AutoDisposeSyncNotificationer处理api状态代码?

谷歌 map 在 flutter 应用程序中显示错误的当前位置

如何在 Flutter 中以背景 colored颜色 制作圆圈的一部分

尽管设置了对齐方式,如何对齐列中的行?

如何解决需要一个标识符,但得到的是:.try 在:之前插入一个标识符.dart 错误

如何格式化网址?

我想在一个屏幕上有两个相同区域的列表视图,我该如何设置?

配置项目:firebase_core时出现问题

如何在 ElevatedButton 上设置背景 colored颜色 动画?