我有一个Flutter应用程序,我使用网格生成器来显示网格项目。每隔10个网格后,我想插入一个完全拉伸的黄色容器来分隔各部分。例如,第一行应包含网格1至5,第二行应包含网格6至10,然后在下一行显示网格11至15之前,应插入黄色容器。该图案应当继续直到网格的末端(例如,100个网格)。
我已经附上了当前的代码和图像供参考。你能指导我如何实现这个功能吗?先谢谢你。
GridView.builder(
itemCount: 100,
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 5,
),
itemBuilder: (BuildContext context, int index) {
if ((index + 1) % 11 == 0) {
// Add yellow color stretch container after every 10th container
return Container(
color: Colors.yellow,
height: 50,
width: double.infinity,
);
} else {
// Regular square rounded shape container
return Container(
margin: const EdgeInsets.all(8),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: Colors.white,
),
child: Center(
child: Text('${index + 1}'),
),
);
}
},
)
2条答案
按热度按时间mpbci0fu1#
我的看法是...对子组使用.skip和.take:
9o685dep2#
这里有一个简单的例子。