使用flutter,什么是最简单和最干净的方法来放置分隔符,不仅行之间,而且作为第一行和最后一行?
我可以通过伪造itemCount
并添加到额外的行来做到这一点。
...
child: ListView.separated(
// Offset itemCount to start with separator
itemCount: sortedList.length + 2,
itemBuilder: (context, index) {
if (index == 0) {
return SizedBox(height: 0.0);
}
if (index == sortedList.length + 1) {
return SizedBox(height: 0.0);
}
return ListItem(...);
},
separatorBuilder: (context, index) {
return SizedBox(height: 10.0);
}))),
3条答案
按热度按时间uxh89sit1#
恐怕这是我们用
ListView.separated
所能得到的最干净的了另一种方法是使用
ListView.builder
并将项目 Package 为带有边框底部的container
ozxc1zmp2#
你可以把你的
ListView.serarated
Package 在另一个ListView
中,然后把你的分隔符放在ListView.separated
的前面和后面。但是你需要定义scrollDirection
和shrinkWrap
,如示例所示。否则,你会得到一个错误,为unbounded hight。作为分隔符,我使用了Divider-Widget,但你可以使用任何你想要的。wh6knrhe3#
或者让
itemBuilder
返回一个Column
,列表项位于两个条件分隔符之间。