首页 > 解决方案 > Gridview Flutter的最后一个奇数项水平居中

问题描述

我正在使用Gridview构建器来懒惰地显示我的项目。我的gridview'sitemcount 是 5,crossAxiscount 是 2。有没有办法将第 5 个项目水平居中?谢谢你试图帮助我。

这是我的Gridview样子:

GridView.builder(
 shrinkWrap: true,
 itemCount: list.length, //the value is 5
 gridDelegate:
  SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2),
   itemBuilder: (BuildContext context, int i) {
     return card(i); //widget that returns a card
  },
),

标签: flutterdartgridviewflutter-layout

解决方案


我终于知道我应该做什么了。由于 myGridView's itemcount是静态的并且已知是 5,因此我可以简单地card(i)使用Wrap小部件进行包装并将其设置alignmentcrossAxisAlignment居中。

这是我能够解决它的方法:

Wrap(
 spacing: 8, //vertical spacing
 runSpacing: 8, //horizontal spacing
 alignment: WrapAlignment.center,
 crossAxisAlignment: WrapCrossAlignment.center,
  children: <Widget>[
   card(0),
   card(1),
   card(2),
   card(3),
   card(4),
  ],
),

推荐阅读