颤抖如何为GridView.Builder的子级增加高度

时间:2018-12-04 11:42:16

标签: flutter

我想为gridview.builder的孩子们增高身高,但不接受。我尝试使用容器,但无法正常工作... 请帮助

GridView.builder(
              gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                crossAxisCount: 2,
              ),
              itemCount: snapshot.data.length,
              itemBuilder: (BuildContext context, int index) {
                return Container(
                  height: 280.0,
                  child: Column(
                    children: <Widget>[
                      Padding(
                        padding:
                            EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0),
                      ),
                      Padding(
                        padding: const EdgeInsets.all(8.0),
                        child: Container(
                          height: 208.5,
                          width: 138.75,
                          decoration: BoxDecoration(
                              borderRadius: BorderRadius.circular(10.0),
                              image: DecorationImage(
                                  image: NetworkImage(
                                      "${snapshot.data[index].url}"),
                                  fit: BoxFit.fill)),
                        ),
                      ),
                      Text(
                        snapshot.data[index].title,
                        style: TextStyle(fontSize: 17.0),
                      ),
                    ],
                  ),
                );
              },
            ),`

img

4 个答案:

答案 0 :(得分:6)

您最好将childAspectRatio的{​​{1}}属性与SliverGridDelegate一起使用:

Demo pic

MediaQuery

答案 1 :(得分:3)

通过将 childAspectRatio 0 更改为 1,您可以更改项目的高度

答案 2 :(得分:1)

为了使容器更大,宽高比应小于1但大于0。例如0.4

答案 3 :(得分:-1)

在显示“底部溢出85像素”的视图中(当前使用的高度是208.5),因此我们可以减小图像视图容器的高度以获得适当的视图。如下-

child: GridView.builder(
                        gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                          crossAxisCount: 2,
                        ),
                        itemCount: 4,
                        itemBuilder: (BuildContext context, int index) {
                          return Container(
                            height: 280.0,
                            child: Column(
                              children: <Widget>[
                                Padding(
                                  padding:
                                  EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0),
                                ),
                                Padding(
                                  padding: const EdgeInsets.all(8.0),
                                  child: Container(
                                    height: 140,
                                    width: 138.75,
                                    decoration: BoxDecoration(
                                        borderRadius: BorderRadius.circular(10.0),
                                        image: DecorationImage(
                                            image: new AssetImage("images/" + _allCities[index].image),
                                            fit: BoxFit.fill)),
                                  ),
                                ),
                                Text(
                                  "title",
                                  style: TextStyle(fontSize: 17.0),
                                ),
                              ],
                            ),
                          );
                        },
                      ),

要解决您的问题,您可以增加主容器的高度或减小图像容器的高度,如上例所示,我要减小图像容器的高度。