SliverList
Flutter和Flutter有什么区别ListView
?
问问题
16873 次
2 回答
74
几乎没有区别。
ListView
是一个SliverList
。与 相同GridView
,这是一个SliverGrid
。
他们正在做同样的事情。它们之间的唯一区别是它SliverList
是条子,而不是小部件。这意味着它ScrollView
通常在 a 中使用CustomScrollView
。
ListView
只不过是SliverList
将其转换为 aWidget
以使其可与其他小部件(例如Row
/ )一起使用Container
。
大多数时候,使用ListView
.
但是,如果您想要高级滚动行为,例如带有滚动的 appbar 动画;你需要使用一个CustomScrollView
. 这将迫使您使用SliverList
而不是ListView
.
于 2018-05-16T10:06:41.423 回答
15
根据这篇文章,
您使用的所有可滚动视图,例如
ListView
和GridView
,都是actually implemented using Slivers
. 您可以将 Slivers 视为较低级别的接口,为实现可滚动区域提供更细粒度的控制。因为 slivers 可以在滚动到视图中时懒惰地构建每个项目,所以 slivers 对于有效滚动大量子项特别有用。
于 2019-11-22T09:35:46.213 回答