Flutter中SliverList与ListView之间的差异

时间:2018-05-16 09:51:47

标签: flutter flutter-layout flutter-sliver

Flutter中 SliverList ListView 之间有什么区别?

2 个答案:

答案 0 :(得分:21)

几乎没有区别。

ListView 一个SliverList。与GridView相同,即SliverGrid

他们正在做同样的事情。它们之间的唯一区别是SliverList是一个条子,而不是一个小部件。这意味着它在ScrollView中使用,通常是CustomScrollView

ListView只不过是SliverList的招标,可以将其转换为Widget,以便与其他小部件一起使用,例如Row / Container

大部分时间都使用ListView

但是如果你想要高级滚动行为,比如带滚动的appbar动画;您需要使用CustomScrollView。这将迫使您使用SliverList而不是ListView

答案 1 :(得分:1)

根据this article

  

您使用的所有可滚动视图,例如ListViewGridView,   是actually implemented using Slivers。您可以想到   作为较低级别的界面,可在以下位置提供更细粒度的控制   实现可滚动区域。因为条子可以懒散地堆积   就像滚动到视图中一样,条子对于   有效地滚动大量孩子。