Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何设置包含GridView子项的容器()高度??颤振_Flutter_Gridview_Containers_Height - Fatal编程技术网

Flutter 如何设置包含GridView子项的容器()高度??颤振

Flutter 如何设置包含GridView子项的容器()高度??颤振,flutter,gridview,containers,height,Flutter,Gridview,Containers,Height,我正在尝试制作gif图片库。 我想用容器包装gridview,但容器需要设置高度。 如何设置容器()的相对高度?? 我想制作gridview。项目增加,容器高度也增加 红线是我设置的当前容器高度 Container( margin: EdgeInsets.only(top: 10), padding: EdgeInsets.symmetric(horizontal: 10), heigh

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

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

            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
小部件根据其拥有的项目数量来占用空间

您可以将
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(),
          ),
        ),
      ),

为什么要将
网格视图
包装在
容器中
?您可以将
GridView
shrinkWrap
属性设置为
true
,这样它只占用所需的空间(基于项目)。