跳至主要内容

滚动

Flutter 拥有许多内置的小部件,这些小部件可以自动滚动,并且还提供各种可自定义的小部件,以创建特定的滚动行为。

基本滚动

#

许多 Flutter 小部件都开箱即用地支持滚动,并为您完成大部分工作。例如,SingleChildScrollView 在必要时会自动滚动其子级。其他有用的 widget 包括 ListViewGridView。您可以在 Widget 目录的 滚动页面 上查看更多这些小部件。


滚动条 | Flutter 小部件周报


ListView | Flutter 小部件周报

无限滚动

#

当您的 ListViewGridView 中有很长的项目列表(包括无限列表)时,您可以根据需要在它们滚动到视图中时构建这些项目。这提供了更流畅的滚动体验。有关更多信息,请查看 ListView.builderGridView.builder

专门的滚动小部件

#

以下小部件提供了更具体的滚动行为。

关于使用 DraggableScrollableSheet 的视频


DraggableScrollableSheet | Flutter 小部件周报

使用 ListWheelScrollView 将可滚动区域变成一个轮子!


ListWheelScrollView | Flutter 小部件周报

花式滚动

#

也许您想实现弹性滚动,也称为滚动反弹。或者您可能想实现其他动态滚动效果,例如视差滚动。或者您可能想要一个具有非常特定行为的滚动标题,例如缩小或消失。

您可以使用 Flutter Sliver* 类实现所有这些以及更多功能。sliver 指的是可滚动区域的一部分。您可以定义并将 sliver 插入 CustomScrollView 以更细粒度地控制该区域。

有关更多信息,请查看 使用 sliver 实现花式滚动Sliver 类

嵌套滚动小部件

#

如何在不影响滚动性能的情况下将滚动小部件嵌套在另一个滚动小部件内部?您是将 ShrinkWrap 属性设置为 true,还是使用 sliver?

查看“ShrinkWrap 与 Sliver”视频


ShrinkWrap 与 Sliver | 解码 Flutter