为了显示一个抽屉,覆盖我的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(),
),
)