我正在开发一个 Flutter 应用程序,现在我正在努力了解实现复杂底部栏导航的最佳方法是什么。 这是我的要求:
例如,假设我们有两个部分,每个部分由两页组成:SectionOneA
、SectionOneB
、SectionTwoA
、SectionTwoB
。
一些用例:
SectionOneB
内的按钮从 SectionTwoB
导航到 SectionOneB
,当用户从 SectionTwoB
按下返回(在 android 上)时,我们应该导航回 {{ 1}}SectionOneB
,然后通过 SectionTwoA
中的按钮导航到 SectionTwoB
,然后通过导航栏导航到 SectionTwoA
,然后按SectionOneA
图标再次出现在导航栏中。我们应该显示SectionTwo
。如果按下返回键,我们应该导航到 SectionTwoB
。在这两个示例中,当从一个部分移动到另一个部分时,应该突出显示正确的导航栏项目。
我是 flutter 的新手,所以我正在学习。现在,我所做的是使用带有 SectionTwoA
的导航栏从一个部分切换到另一个部分,然后每个部分使用一个 PageViewer
来处理从一个页面到另一个页面的切换。这一直很好,直到我不得不实现上面的第一个用例,在这一点上,在我看来,按照用例的要求实现一个适当的导航堆栈将是非常具有挑战性的,我觉得重新考虑整个事情会更好,只有我不知道解决这个问题的最佳方法是什么。
一个临时的解决方案是在第一部分的 PageViewer
中也包含 SectionTwoB
,但这不允许我突出显示正确的导航栏项目。
关于如何解决这个问题的任何线索?我发现的所有示例似乎都太简单了和/或我无法理解如何将各个部分连接在一起。我使用 flutter_bloc 作为状态管理库。