我如何在标签栏顶部水平推动页面过渡,而不是在其中一个选项卡内使用常见的水平页面转换或在标签栏顶部进行常见的垂直页面转换?
这在中国平台类型的应用程序中很常见。
警告:它在 iOS 中是可以实现的,但对于应用程序来说不一定是一个好的信息架构,而且 Apple 的人机界面指南不推荐。
请参阅App Architecture 的 Navigation部分和Bars 的 Tab Bars部分。
使用选项卡栏显示内容或功能的同类类别。标签栏让人们可以快速轻松地在类别之间切换,而不管当前位置如何。
和
通常,使用标签栏来组织应用程序级别的信息。选项卡栏是扁平化信息层次结构并同时提供对多个对等信息类别或模式的访问的好方法。
在 Flutter 中,每个选项卡内水平页面转换的常见 iOS 并行导航模式是通过CupertinoTabView让每个选项卡拥有自己的导航器和导航堆栈来实现的。
要撤消该模式并在选项卡上方进行水平页面转换,请不要插入CupertinoTabView作为每个选项卡的根子项。这将删除 iOS 中常见的并行导航模式。
然后通过以下方式触发正常的路由推送:
Navigator.of(context).push(CupertinoPageRoute<void>(
builder: (BuildContext context) => ...,
);
或类似的东西。
将rootNavigator设置为 true 将解决此问题
Navigator.of(context, rootNavigator: true).push(MaterialPageRoute(
builder: (context) => NEWROUTE(),
));