Как создать индикатор прокрутки
Я пытаюсь отобразить индикатор тени / прокрутки в нижней части CustomScrollView
чтобы указать, что пользователь может прокрутить вниз. Индикатор прокрутки должен быть виден только тогда, когда вы действительно можете прокрутить вниз.
В моей первой попытке создать это я назначил
ScrollController
кCustomScrollView
так что я могу получить максимальный экстент прокрутки и текущую позицию прокрутки. К сожалению, это не сработало, потому чтоScrollController
привязывается только кCustomScrollView
во время первой сборки, поэтому я не могу использовать его во время первой сборки, чтобы получить необходимую мне информацию.Для второй попытки я более внимательно изучил реализацию
Sliver
, но без везения. Я пытался получить вдохновение отSliverAppBar
код (как предложено здесь), но обнаружил, что это было довольно трудно понять, и что не так много информации оSliver
пока нет.
Мой вопрос: как я могу реализовать это (без пользовательских лент, если это возможно)? Если вам нужны щепки, я бы хотел получить дополнительную информацию и, возможно, ссылки на ресурсы по этой теме.
1 ответ
Если вам нужно определить, когда пользователь прокрутил вниз до нижней части ListView, вы можете установить прослушиватель ScrollController, если позиция прокрутки находится на краю.
_scrollController.addListener(() {
if (_scrollController.position.atEdge) {
if (_scrollController.position.pixels == 0) {
debugPrint('Scroll position at top');
} else {
debugPrint('Scroll position at bottom');
// Load more list items
}
}
});
Помните, что ScrollController необходимо настроить в ListView.
ListView.builder(
controller: _scrollController,
...
)