Flutter中的ListView.builder 反转 数据较少上面留有空白
时间: 2024-02-20 20:00:46 浏览: 161
【Flutter】ListView 列表 ( List 集合的 map 方法说明 垂直列表 水平列表 代码示例 ).zip
如果您的数据较少,在使用ListView.builder时可能会发现在反转列表时会留下一些空白。这是因为反转列表时,ListView.builder将始终从列表的末尾开始构建,因此如果列表中的项目不足以填满整个屏幕,则会留下一些空白。
为了解决这个问题,您可以使用SliverFillRemaining来填充空白。例如,以下代码将创建一个反转的ListView.builder,并在底部使用SliverFillRemaining来填充空白:
```
CustomScrollView(
slivers: <Widget>[
SliverList(
delegate: SliverChildBuilderDelegate(
(BuildContext context, int index) {
return YourListItemWidget(yourItemList[index]);
},
childCount: yourItemList.length,
),
),
SliverFillRemaining(
hasScrollBody: false,
child: Container(),
),
],
reverse: true,
);
```
在这个例子中,我们将ListView.builder包装在CustomScrollView中,并使用SliverFillRemaining来填充剩余空间。由于SliverFillRemaining只填充剩余空间,因此它将在底部添加足够的空间,以确保ListView.builder填满整个屏幕。同时,由于我们使用了CustomScrollView,我们仍然可以使用ListView.builder的reverse属性来反转列表。
阅读全文