Как добавить определенные c действия в ListView, когда пользователь перетаскивает его в начало или конец (когда появляются кривые синие линии)? - PullRequest
1 голос
/ 06 августа 2020

Мне любопытно, есть ли простой способ добавить такую ​​функциональность в мои Flutter ListViews? Например, я хотел бы вызвать некоторую анимацию на другом виджете, когда пользователь перетаскивает «за край» в ListView со всеми его элементами, прокрученными вверх или вниз, то есть когда пышная синяя линия указывает, что мы находимся на появится конец списка. Очевидно, у него есть событие, которое все равно показывает эти строки.

1 Ответ

0 голосов
/ 06 августа 2020

На самом деле это не сложно, вы можете использовать собственный ScrollController со слушателем:

объявите его, затем в initState поместите:

_myController = ScrollController();
_myController.addListener(_myScrollListener);

и сама функция может быть примерно такой :

_myScrollListener(){
if (_myController.offset >= _controller.position.maxScrollExtent && !_myController.position.outOfRange) {
  print("List end");
}
if (_myController.offset <= _controller.position.minScrollExtent && !_myController.position.outOfRange) {
  print("List top");
}

Используйте контроллер со своим ListView, добавьте то, что вам нужно, в слушатель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...