Я пытаюсь определить, в каком направлении (влево или вправо) пользователь пролистал, используя PageView
.
Я смог получить направление, как это.
Код:
PageController _controller;
@override
void initState() {
_controller = new PageController()..addListener(_listener);
super.initState();
}
_listener() {
if (_controller.position.userScrollDirection == ScrollDirection.reverse) {
print('swiped to right');
} else {
print('swiped to left');
}
}
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(),
body: PageView.builder(
itemCount: 10,
controller: _controller,
itemBuilder: (context, index) {
return new Center(child: Text('item ${++index}'));
}),
);
}
Однако, поскольку прокрутка не заканчивается, метод print
верните это много раз.
Есть ли способ получить это после того, как текущая страница полностью переключится на следующую?
флаттер: проведено вправо
трепетание: проведено вправо
трепетание: проведено вправо
трепетание: проведено вправо
трепетание: проведено вправо
трепетание: проведено вправо
трепетание: проведено вправо
флаттер: проведено вправо
трепетание: проведено вправо
флаттер: проведено вправо
трепетание: проведено вправо