Flutter:将命名路由与自定义页面路由构建器一起使用?
Posted
技术标签:
【中文标题】Flutter:将命名路由与自定义页面路由构建器一起使用?【英文标题】:Flutter: use named routes with custom page route builder? 【发布时间】:2021-09-02 12:16:07 【问题描述】:目前在我的颤振项目中,我在这样的屏幕之间导航:
Navigator.push(
context,
CustomPageRouteBuilder().getPageRouteBuilder(MainPage()),
);
CustomPageRouteBuilder
:
class CustomPageRouteBuilder
getPageRouteBuilder(Widget widget)
return PageRouteBuilder(
transitionDuration: Duration(
milliseconds: 500,
),
transitionsBuilder: (BuildContext context, Animation<double> animation,
Animation<double> secAnimation, Widget child)
animation = CurvedAnimation(
parent: animation,
curve: Curves.elasticInOut,
);
return ScaleTransition(
alignment: Alignment.center,
scale: animation,
child: child,
);
,
pageBuilder: (BuildContext context, Animation<double> animation,
Animation<double> secAnimation)
return LayoutPage(widget);
);
我如何使用命名路由 + 这个CustomPageRouteBuilder
?
如果我有这些:
class Routes
static const String loginPage = "/loginPage";
static const String mainPage = "/mainPage";
通常看起来像这样:
class MyApp extends StatelessWidget
@override
Widget build(BuildContext context)
return MaterialApp(
title: 'Flutter Demo',
home: LoginPage(),
routes:
Routes.loginPage: (context) => LoginPage(),
Routes.mainPage: (context) => MainPage(),
,
);
但我想将LoginPage()
和MainPage()
包装在CustomPageRouteBuilder
中。
提前致谢。
【问题讨论】:
【参考方案1】:使用GetX,它有一个非常简单的路线导航,如下所示:
Get.toNamed(YOUR_NAMED_ROUTE),
【讨论】:
这如何帮助我使用我创建的页面路由构建器方法?以上是关于Flutter:将命名路由与自定义页面路由构建器一起使用?的主要内容,如果未能解决你的问题,请参考以下文章