Слушатель событий смахивания TabBarView - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь setState() всякий раз, когда TabBarView изменит свой индекс при пролистывании.

TabBarView(
  controller: _tabController,
  children: [
    fooScreen(),
    barScreen(),
  ]

Пока я смог использовать _tabController.addListener() но это срабатывает только тогда, когда индекс TabBarView уже изменился. Есть ли способ заставить его срабатывать при изменении индекса?

1 Ответ

1 голос
/ 24 апреля 2020

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

В коде этого может быть достигнуто с помощью GestureDetector (который, я уверен, вы уже использовали).

GestureDetector(
 child: yourWidget,

 onPanUpdate: (d) {
  if (d.delta.dx > 0) {
    //triggered when swiped yourWidget in right direction
  }
});

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