在使用ListView.Builder创建列表时,如何在最后一项中隐藏分隔符?
为每个项添加分隔符相当容易,但是在列表中的最后一项上解除分隔符的逻辑是什么?
没有具体的stackoverflow问题以及实现此任务的具体示例.
Widget build(BuildContext context) { return ListView.builder( shrinkWrap: true,physics: ScrollPhysics(),itemCount: OffersList.length,itemBuilder: (context,index) { Offer item = OffersList[index]; return ListItem(context,item); },); } Widget ListItem(BuildContext context,Offer item) { if ( index == OffersList.length - 1) { dividerChecker = EmptyContainer(); } else { dividerChecker = Divider(); } return Column( children: <Widget>[ OfferListItem( offerData: item,status: status,userType: userType,),dividerChecker,],);
}
解决方案如建议:
使用ListView.separator而不是ListView.Builder:
ListView.separated( separatorBuilder: (BuildContext context,int index) => new Divider(),shrinkWrap: true,index) { Offer item = OffersList[index]; return offerListItem(context,Widget offerListItem(BuildContext context,Offer item) { return Column( children: <Widget>[ OfferListItem( offerData: item,);
}
解决方法
这可以通过ListView.separated()轻松完成