使用go_router推送透明页面?



为了显示一个抽屉,覆盖我的shellroute,我需要推一个半透明的页面在我的页面堆栈的顶部。到目前为止,当我使用

时,背景仍然是不透明的
GoRouter.of(rootNavigatorKey.currentContext!).pushNamed('myDrawer');

我发现了一个使用传统导航器和PageRouteBuilder的策略:

Navigator.of(rootNavigatorKey.currentContext!).push(
PageRouteBuilder(
fullscreenDialog: true,
opaque: false,
pageBuilder: (_, __, ___) => MyDrawer(),
),
);

是否有办法使用像不透明这样的选项?参数,在推送路由时使用go_router ?

您可以使用CustomTransitionPage。你必须找到你的应用程序的GoRouter实例定义的地方,并像下面这样将它添加到路由列表中:

GoRoute(
path: '/myDrawer',
name: 'myDrawer',
pageBuilder: (context, state) => CustomTransitionPage(
fullscreenDialog: true,
opaque: false,
transitionsBuilder: (_, __, ___, child) => child,
child: const MyDrawer(),
),
)

相关内容

  • 没有找到相关文章

最新更新