Как я могу перейти с одной страницы на другую с помощью детектора жестов? это то, что я сделал до сих пор, я также импортировал login_page.dart, но жестдетектор выдает ошибку «undefined login_page»
GestureDetector(
onTap: () {
pageController.animateToPage(
login_page,
duration: Duration(milliseconds: 400),
curve: Curves.linear,
);
},
child: Text("GET STARTED NOW"),
),
Что такое login_page
? Как и где вы это заявили?
@MidhunMP — это страница (login_page.dart), куда я хочу отправить пользователя, как только он нажмет кнопку «Начать».
Анимирует управляемый PageView с текущей страницы на заданную страницу.
Анимация длится заданную продолжительность и следует заданной кривой. Возвращенное Future разрешается, когда анимация завершается.
Аргументы продолжительность и кривая не должны быть нулевыми.
Будущая анимацияToPage ( внутренняя страница, {@required Duration продолжительность, @требуемая кривая кривой} )
Ваш синтаксис GestureDetector
правильный, но вы передали неправильный аргумент animateToPage
.
согласно документам API флаттера:
Future<void> animateToPage (
int page,
{@required Duration duration,
@required Curve curve}
)
это анимирует управляемый PageView
с текущей страницы на заданную page
.
Ваш login_page
var должен быть позицией страницы. вы не правильно декларируете.
дополнительная информация: документы animateToPage
У flutter dev также есть образец статьи для этого
https://flutter.dev/docs/cookbook/animation/page-route-animation
Пожалуйста, используйте приведенный ниже код в функции onTap:
. ***
Измените 4-ю строку кода.
GestureDetector(
onTap: () {
pageController.animateToPage(
HereIsTheClassNameOfYourPage(),//Please type the class name of your login_page class
duration: Duration(milliseconds: 400),
curve: Curves.linear,
);
},
child: Text("GET STARTED NOW"),
),
разве это не то же самое, что я написал выше?
Да, но с комментарием, пожалуйста, посмотрите там.
Ваш приведенный выше код должен работать нормально