Flutter:使用包装器时如何使用路由在页面之间进行路由
Flutter: How to use Routes to route between pages when using a wrapper
我正在构建一个包含多个页面的应用程序。问题是我有很多 Hero()
小部件,我想在页面之间设置动画。我尝试使用动画包的 PageTransitionSwitcher
但 Hero()
小部件不使用它进行动画处理。我在 MaterialApp()
下面的树的根部有一个包装器,我路由到登录屏幕、验证屏幕和主屏幕。问题是,如果我在主屏幕上路由,它将替换包装器,所以我求助于让主屏幕成为一个空容器,在它上面推送一条路由,这是实际的主屏幕,每个都有一个 bottomNavigationBar() 推送一个在 Hero()
s 动画时用淡入淡出动画替换屏幕。
问题是这种方法很笨拙,我 运行 遇到了很多问题,因为我必须有一个空的小部件来推送路由,然后在身份验证状态为用户更改。我想知道是否有更好的方法来执行此操作或无需实际路由用户即可获得路由动画的方法。
感谢您的帮助!
编辑:我目前使用的方法不起作用,因为它会在用户更新个人资料时 运行domly 弹出页面。我已暂时恢复到 PageTransitionSwitcher()
,但我想知道如何使用导航器或在当前设置下使用导航器的动画。
这可以通过嵌套导航器来完成。在主页中返回一个 Navigator()
并添加一个 HeroController()
(在此处查看更多内容 )应该可以实现我想要实现的目标。
您还需要给导航器一个键,并在 Material 应用程序中分配一个 navigatorKey
,例如使用 keyName.currentState!.push()
路由。
我正在构建一个包含多个页面的应用程序。问题是我有很多 Hero()
小部件,我想在页面之间设置动画。我尝试使用动画包的 PageTransitionSwitcher
但 Hero()
小部件不使用它进行动画处理。我在 MaterialApp()
下面的树的根部有一个包装器,我路由到登录屏幕、验证屏幕和主屏幕。问题是,如果我在主屏幕上路由,它将替换包装器,所以我求助于让主屏幕成为一个空容器,在它上面推送一条路由,这是实际的主屏幕,每个都有一个 bottomNavigationBar() 推送一个在 Hero()
s 动画时用淡入淡出动画替换屏幕。
问题是这种方法很笨拙,我 运行 遇到了很多问题,因为我必须有一个空的小部件来推送路由,然后在身份验证状态为用户更改。我想知道是否有更好的方法来执行此操作或无需实际路由用户即可获得路由动画的方法。
感谢您的帮助!
编辑:我目前使用的方法不起作用,因为它会在用户更新个人资料时 运行domly 弹出页面。我已暂时恢复到 PageTransitionSwitcher()
,但我想知道如何使用导航器或在当前设置下使用导航器的动画。
这可以通过嵌套导航器来完成。在主页中返回一个 Navigator()
并添加一个 HeroController()
(在此处查看更多内容
您还需要给导航器一个键,并在 Material 应用程序中分配一个 navigatorKey
,例如使用 keyName.currentState!.push()
路由。