Для этого можно использовать GestureDetector
и PageController
при просмотре страницы. Где GestureDetector
используется для получения позиции касания экрана и для вызова контроллера страницы на go вперед или назад в зависимости от этой позиции.
Оберните PageView(controller: _pageController,...)
с GestureDetector
, а затем определите onTapDown
примерно так:
GestureDetector(
onTapDown: (TapDownDetails details) {
final RenderBox box = context.findRenderObject();
final localOffset = box.globalToLocal(details.globalPosition);
final x = localOffset.dx;
// if x is less than halfway across the screen and user is not on first page
if(x < box.size.width / 2){
// _pageController.previousPage(...)
}else{
// Assume the user tapped on the other half of the screen and check they are not on the last page
// _pageController.nextPage(...)
}
},
child: PageView(
controller: _pageController,
...
)
)
Как видите, я не полностью реализовал решение, но это должно быть то, что вы хотите