Что является эквивалентом RecyclerView.SCROLL_STATE_IDLE Android в Flutter

Android дает такие состояния прокрутки, как RecyclerView.SCROLL_STATE_IDLE который сообщает, когда пользователь останавливает прокрутку. Я не могу найти альтернативу флаттеру для Pageview или же ListView ScrollListener.

Моя проблема

Мне нужно обнаружить прокрутку вверх / вниз в PageView, чтобы выполнить некоторые операции, основанные на этом. Флаттер дает направление (_myPageViewController.position.userScrollDirection) но это дает непрерывный обратный вызов. Мне нужно обнаружить его только тогда, когда пользователь перестает прокручивать.

Другой сценарий

Мне нужно сделать автоматическое воспроизведение видео в виде списка. Поэтому мне нужно определить, когда пользователь прекращает прокручивать, а затем получить позицию и играть в нее.

В андроиде я бы сделал это с помощью RecyclerView.SCROLL_STATE_IDLE состояние в RecyclerView's scrollListener. Нужно что-то похожее в трепетании.

1 ответ

Решение

По словам pskink и Doc NotificationListener<ScrollNotification> дает обратный вызов начала прокрутки, конца прокрутки.

NotificationListener<ScrollNotification>(
  onNotification: (scrollNotification) {
    if (scrollNotification is ScrollEndNotification) {
      print("Scroll End"); //Scroll end callback
     }
    return false;
    },
  child: ListView.builder(
      //...
      ),
)

Это также работает с другими прокручиваемыми виджетами, такими как PageView,

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