我试图在我的第一个flutter应用程序中使用Hero Animations,但已经有使用这种方法实现的instagram,如底部导航,并且我发现Hero Animations在嵌套的Navigators中不起作用。
例如,您可以从此处获取Complete示例,然后从class 替换为home: MainScreen(),HeroApp
home: Navigator(onGenerateRoute: (_) {
return MaterialPageRoute(builder: (_) => MainScreen());
}),
Run Code Online (Sandbox Code Playgroud)
和英雄动画将中断。
也许还有其他方法可以实现每个选项卡具有独立堆栈的底部导航,这些方法不使用嵌套导航器,但是我没有找到任何方法。
因此,任何建议非常感谢。
UPD:我刚刚意识到答案应该在MaterialApp课堂和宾果游戏中!
有一个天真的解决方案可以工作:
home: Navigator(
onGenerateRoute: (_) => MaterialPageRoute(builder: (_) => MainScreen()),
observers: [HeroController()],
),
Run Code Online (Sandbox Code Playgroud)
但是在MaterialApp源代码中,事情要复杂得多,所以也许有些隐藏的事情打破了我的幼稚解决方案。因此问题仍然悬而未决。