滚动
Flutter 内置了许多会自动滚动的组件,还提供了多种可自定义的组件,用于创建特定的滚动行为。
基本滚动
#许多 Flutter 组件都支持开箱即用的滚动,并为您完成了大部分工作。例如,SingleChildScrollView
会在必要时自动滚动其子组件。其他有用的组件包括 ListView
和 GridView
。您可以在组件目录的滚动页面上查看更多此类组件。
在新标签页中观看 YouTube 视频:“Scrollbar | Flutter widget of the week”
无限滚动
#当您的 ListView
或 GridView
中有大量项目(包括无限列表)时,您可以根据需要,在项目滚动到视图中时按需构建它们。这提供了更高效的滚动体验。欲了解更多信息,请查看 ListView.builder
或 GridView.builder
。
专用可滚动组件
#以下组件提供了更具体的滚动行为。
关于使用 DraggableScrollableSheet
的视频
在新标签页中观看 YouTube 视频:“DraggableScrollableSheet | Flutter widget of the week”
使用 ListWheelScrollView
将可滚动区域变成轮子!
在新标签页中观看 YouTube 视频:“ListWheelScrollView | Flutter widget of the week”
炫酷滚动
#也许您想实现弹性滚动,也称为滚动回弹。或者您想实现其他动态滚动效果,例如视差滚动。或者您想要一个具有非常特定行为的滚动标题,例如收缩或消失。
您可以使用 Flutter 的 Sliver*
类来实现所有这些以及更多功能。Sliver 指的是可滚动区域的一部分。您可以定义一个 sliver 并将其插入到 CustomScrollView
中,以便对该区域进行更精细的控制。
欲了解更多信息,请查看使用 sliver 实现炫酷滚动和Sliver 类。
嵌套滚动组件
#如何在不影响滚动性能的情况下,将滚动组件嵌套在另一个滚动组件中?是设置 ShrinkWrap
属性为 true,还是使用 sliver?
查看“ShrinkWrap vs Slivers”视频
在新标签页中观看 YouTube 视频:“ShrinkWrap vs Slivers | Decoding Flutter”