这是我当前的代码:
class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.all(8.0),
child: GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 5,
childAspectRatio: 1,
),
itemCount: 25,
itemBuilder: (_, __) => Container(
color: Colors.red,
),
),
);
}
}
这是它给出的输出:注意到某些网格项目之间的差距了吗?
我已经尝试使用
Expanded
,AspectRatio
,SizedBox
进行了10种不同的变化,并且所有方法似乎都能产生相同的精确结果。
最佳答案
github上有一个关于它的问题:https://github.com/flutter/flutter/issues/29702
但您总是可以进行简单的修改:
class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.all(8.0),
child: GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 5,
childAspectRatio: 1,
),
itemCount: 25,
itemBuilder: (context, index) => LayoutBuilder(
builder: (context, constraintes) => OverflowBox(
maxHeight: constraintes.maxHeight + 0.5,
maxWidth: constraintes.maxWidth + 0.5,
child: Container(
color: Colors.red,
),
),
),
),
);
}
}
关于flutter - 制作 GridView ,元素之间没有间隙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63098884/