如何设置具有 GridView 子项的 Container() 高度?扑

how to set Container() height which has GridView child?? flutter

我正在尝试制作 gif 图片库。 我想用容器包装 gridview 但容器需要设置高度。 如何相对设置 Container() 的高度? 我想让 gridview.items 增长,容器高度也增长。

红线是我设置的当前容器高度

            Container(
              margin: EdgeInsets.only(top: 10),
              padding: EdgeInsets.symmetric(horizontal: 10),
              height: 1000,
              width: double.infinity,
              child: GridView.builder(
                  physics: NeverScrollableScrollPhysics(),
                  itemCount: 6,
                  gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                    crossAxisCount: 3,
//                      childAspectRatio: 3 / 2,
//                      crossAxisSpacing: 10.0,
//                      mainAxisSpacing: 10.0,
                  ),
                  itemBuilder: (context, index) => ChangeNotifierProvider.value(
                        value: videos[index],
                        child: VideoGifItem(),
                      )),
            ),

如果您需要 GridView 小部件占用 space 根据其拥有的项目数。

您可以将 GridView 小部件的 shinkWrap 属性 设置为 true

我以您的代码为例添加了一个演示:

Container(
        margin: EdgeInsets.only(top: 10),
        padding: EdgeInsets.symmetric(horizontal: 10),
        width: double.infinity,
        child: GridView.builder(
          // set the shrinkWrap property to true
          shrinkWrap: true, // new line
          physics: NeverScrollableScrollPhysics(),
          itemCount: 6,
          gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
            crossAxisCount: 3,
//                      childAspectRatio: 3 / 2,
//                      crossAxisSpacing: 10.0,
//                      mainAxisSpacing: 10.0,
          ),
          itemBuilder: (context, index) => ChangeNotifierProvider.value(
            value: videos[index],
            child: VideoGifItem(),
          ),
        ),
      ),