Я использовал PageView для написания списка в вертикальном направлении. Теперь, когда я перемещаю список вверх или вниз (мой палец не отрывается от экрана), onPageChanged будет выполняться. Есть ли способ определить, что метод onPageChanged будет выполняться только тогда, когда палец покидает экран. Часть кода ниже:
SizedBox(
width: 200,
height: 200,
child: PageView(
controller: pageController,
scrollDirection: Axis.vertical,
onPageChanged: (index) {
setState(() {
pageIndex = index;
});
},
children: _buildCardList()),
)
как показано ниже:
вы можете сделать это так;
int currentPage;
.
.
.
onPageChanged(int page){
if (currentPage != page){
setState((){
currentPage = page;
});
}
}
Оберните просмотр страницы прослушивателем уведомлений, как показано ниже:
SizedBox(
width: 100,
height: 100,
child: NotificationListener<ScrollNotification>(
onNotification: (notification)
{
if (notification is ScrollEndNotification)
{
var pageIndex = pageController.page;
}
},
child: PageView(
controller: pageController,
scrollDirection: Axis.vertical,
onPageChanged: (index) {
},
children: _buildCardList()),
),
)