我有一个Flutter应用程序,其中包含以下抽屉:
我原本期望堆栈中会有以下路由:
我错过了什么?如何达到我想要的行为?
请注意,我知道可以使用 WillPopScope 小部件来解决此问题,但我正在寻找使用导航堆栈的解决方案。更重要的是,我想知道为什么上述情况无法正常工作。
路由:
- 首页:"/"
- 附近:"/nearby"
- 申请:"/applied"
我想要实现的行为是,当用户从“附近”和“申请”屏幕点击安卓返回按钮时,应用程序应将他们带回到主屏幕。如果他们再次从主屏幕按下返回按钮,则将他们从应用中退出。
在这里需要澄清的是,如果他们进入了“附近”,然后进入“申请”,然后点击了返回按钮,它应该把他们带回到主页,而不是“申请”。
以下是我导航到“附近”和“申请”抽屉项时的代码:
Navigator.pushNamedAndRemoveUntil(
context,
routeName,
ModalRoute.withName("/")
);
我原本期望堆栈中会有以下路由:
- 主页
- 选定页面
我错过了什么?如何达到我想要的行为?
请注意,我知道可以使用 WillPopScope 小部件来解决此问题,但我正在寻找使用导航堆栈的解决方案。更重要的是,我想知道为什么上述情况无法正常工作。