Как сделать следующую страницу интерактивной во время перехода с PageView на Flutter?

Я использую PageView для создания скользящих переходов между несколькими страницами, содержащими базовый RaisedButton.

Однако во время перехода на кнопку нельзя нажать. Вместо этого, когда экран приклеивается, он отменяет или завершает переход, но после этого требуется второй щелчок.

Мое приложение выглядит так:

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final controller = PageController();

    return MaterialApp(
      title: "MyApp",
      initialRoute: "/",
      routes: {
        "/": (context) => PageView(
              controller: controller,
              children: List.generate(100, (_) => MyPage(controller)),
            ),
      },
    );
  }
}

Моя страница выглядит так:

class MyPage extends StatelessWidget {
  final PageController controller;

  MyPage(this.controller);

  @override
  Widget build(BuildContext context) {
    return Column(
      mainAxisAlignment: MainAxisAlignment.center,
      crossAxisAlignment: CrossAxisAlignment.center,
      children: [
        RaisedButton(
          onPressed: () {
            controller.nextPage(
              duration: Duration(milliseconds: 5000),
              curve: Curves.ease,
            );
          },
          child: Text("Go to next page"),
        ),
        SizedBox(
          width: 200,
          height: 200,
          child: RaisedButton(
            onPressed: () => debugPrint("Button clicked!"),
            child: Text("Click me"),
          ),
        )
      ],
    );
  }
}

Есть ли способ как-то "принудительно" нажать кнопку даже при переходе с одной страницы на другую?

0 ответов

Другие вопросы по тегам