5

我正在尝试使用 Flutter 制作一个使用底部导航栏的应用程序。我想将我以前访问过的屏幕保留在导航堆栈中,就像在 Youtube 和 Instagram 应用程序中一样。例如,假设我有 3 个不同的底部导航栏(A、B 和 C)。分别点击选项卡A、B、C后,想分别返回C、B、A。

这是我的主要目标,但如果可以实现,我还有一个次要目标。

在 Instagram 和 Youtube 中,如果您按 A -> B -> C -> B -> C 的顺序单击选项卡(现在您在选项卡 C 上),然后当您开始单击返回按钮时,它会将您返回到 C -> B -> 一个标签。基本上,每个选项卡都可以在导航堆栈中放置一次。如果您多次访问同一选项卡,则会从导航堆栈中删除同一选项卡的上一个屏幕。

我正在寻找这个问题的解决方案两天,但我找不到。我什至测试了由阿里巴巴开发人员制作的flutter-go应用程序,当我单击返回按钮应用程序刚刚关闭时。

对于这个问题,我将不胜感激。

4

2 回答 2

1

这篇文章解释了你的用例: Multiple Navigator with BottomNavigationBar

于 2019-03-23T14:26:33.253 回答
0

Navigator.of(context).pushNamedAndRemoveUntil('/screenB', ModalRoute.withName('/screenA'));

在最后一个 FragmentC 上试试这个

于 2019-04-01T05:04:22.110 回答