首页 > 解决方案 > 如何更改颤动的页面切换动画?

问题描述

在 Flutter 中使用页面切换功能。当我使用 GetMaterialApp 时,我可以简单地在 getPages 中使用 transitionDuration: Duration.zero

但是,我使用 onGenerateRoute 作为与路由相关的问题。

这是我的代码

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
      title: 'Flutter2 App',
      theme: ThemeData(
        primaryColor: Colors.grey,
      ),
      initialRoute: "/auth",
      initialBinding: InitBinding(),
      onGenerateRoute: (RouteSettings routeSettings) {
        WidgetBuilder builder;
        switch (routeSettings.name) {
          case '/':
            builder = (BuildContext context) {
              return FocusTraversalGroup(
                  policy: WidgetOrderTraversalPolicy(), child: AnalysePage());
            };
            break;
          case '/auth':
            if (GetPlatform.isWeb) {
              builder = (BuildContext context) => AuthPage();
            } else {
              builder = (BuildContext context) => MobileAuthPage();
            }
            break;
          case '/detail':
            builder = (BuildContext context) {
              return FocusTraversalGroup(
                  policy: WidgetOrderTraversalPolicy(),
                  child: AnalyseDetailPage());
            };
            break;
          default:
            if (routeSettings.name!.startsWith('access_token')) {
              var token = routeSettings.name!.split('&')[0].split('=')[1];
              builder = (BuildContext context) {
                return FocusTraversalGroup(
                  policy: WidgetOrderTraversalPolicy(),
                  child: AnalysePage(
                    name: token,
                  ),
                );
              };
            } else {
              builder = (BuildContext context) {
                return FocusTraversalGroup(
                    policy: WidgetOrderTraversalPolicy(), child: AnalysePage());
              };
            }
        }
        return MaterialPageRoute(builder: builder, settings: routeSettings);
      },
      localizationsDelegates: [
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
      ],
    );
  }
}

我想将持续时间设置为 0 以防止在页面切换时显示动画。

标签: flutter

解决方案


推荐阅读