我正在尝试在我的第一个Flutter应用中使用Hero动画,但是已经有了类似Instagram的底部导航,使用这种方法实现,我发现Hero动画无法在嵌套Navigator中正常工作。
例如,您可以从此处获取完整示例,并将HeroApp
类中的home:MainScreen(),
替换为
home: Navigator(onGenerateRoute: (_) {
return MaterialPageRoute(builder: (_) => MainScreen());
}),
并且英雄动画将会出现故障。
也许有其他方法来为每个选项卡实现独立堆栈的底部导航,而不使用嵌套导航器,但我没有找到任何方法。
所以,任何建议都将不胜感激。
更新:我刚意识到答案应该在MaterialApp
类中,太棒了!
有一个简单的解决方案:
home: Navigator(
onGenerateRoute: (_) => MaterialPageRoute(builder: (_) => MainScreen()),
observers: [HeroController()],
),
但在MaterialApp
源代码中,情况要复杂一些,所以可能有一些隐藏的东西破坏了我的天真解决方案。因此问题仍然是未解决的。
Navigator
。 - Rémi RousseletNavigator
嵌套。那么我应该如何为每个选项卡实现独立的堆栈底部导航? - Mikhail