Различия между SliverList и ListView в Flutter
Каковы различия между SliverList и ListView во Flutter?
1 ответ
Там почти нет разницы.
ListView
это SliverList
, То же самое с GridView
, который является SliverGrid
,
Они делают то же самое. Единственная разница между ними заключается в том, что SliverList
это щепка, а не виджет. Это означает, что он используется внутри ScrollView
, обычно CustomScrollView
,
ListView
не что иное, как ожидание SliverList
превратить его в Widget
чтобы сделать его пригодным для использования вместе с другими виджетами, такими как Row
/ Container
,
Большую часть времени используйте ListView
,
Но если вам нужно продвинутое поведение прокрутки, например анимация панели приложений с прокруткой; вам нужно будет использовать CustomScrollView
, Что заставит вас использовать SliverList
вместо ListView
,
Согласно этой статье,
Все прокручиваемые представления, которые вы используете, например
ListView
а такжеGridView
, являютсяactually implemented using Slivers
. Вы можете думать о Slivers как о низкоуровневом интерфейсе, обеспечивающем более детальный контроль над реализацией прокручиваемой области. Поскольку ленты могут лениво строить каждый элемент, когда он прокручивается в поле зрения, ленты особенно полезны для эффективной прокрутки большого количества дочерних элементов.