Различия между 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 как о низкоуровневом интерфейсе, обеспечивающем более детальный контроль над реализацией прокручиваемой области. Поскольку ленты могут лениво строить каждый элемент, когда он прокручивается в поле зрения, ленты особенно полезны для эффективной прокрутки большого количества дочерних элементов.

Другие вопросы по тегам