как использовать детектор жестов «onTap» для перехода на другую страницу?

#flutter #dart

#flutter #dart

Вопрос:

Как я могу перемещаться с одной страницы на другую с помощью детектора жестов? это то, что я делал до сих пор, я также импортировал login_page.dart, но GestureDetector выдает ошибку «undefined login_page»

  GestureDetector(
              onTap: () {
                pageController.animateToPage(
                  login_page,
                  duration: Duration(milliseconds: 400),
                  curve: Curves.linear,
                );
              },
              child: Text("GET STARTED NOW"),
            ),
 

Комментарии:

1. Приведенный выше код должен работать нормально

2. Что такое login_page ? Как и где вы это объявили?

3. @MidhunMP это страница (login_page.dart), куда я хочу, чтобы пользователь был отправлен, как только он / она нажмет на начало работы

Ответ №1:

Пожалуйста, используйте приведенный ниже код в 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"),
            ),
 

Комментарии:

1. разве это не то же самое, что и то, что я опубликовал выше?

2. Да, но с комментарием, пожалуйста, посмотрите там.

Ответ №2:

у разработчика flutter также есть пример статьи для этого

https://flutter.dev/docs/cookbook/animation/page-route-animation

Ответ №3:

Анимирует контролируемый просмотр страницы с текущей страницы на заданную страницу.

Анимация длится заданную продолжительность и следует заданной кривой. Возвращенное будущее разрешается после завершения анимации.

Аргументы duration и curve не должны быть нулевыми.

Будущая анимационная страница (int page, {@требуемая длительность продолжительности, @требуемая кривая кривой})

Ответ №4:

Ваш GestureDetector синтаксис правильный, но вы передали неверный аргумент animateToPage . согласно документации api flutter:

 Future<void> animateToPage (
int page,
{@required Duration duration,
@required Curve curve}
)
 

это анимирует управляемую PageView страницу с текущей страницы на заданную page .

Ваш login_page var должен быть позицией страницы. вы не объявляете его правильно.

дополнительная информация: Документы animateToPage