我想知道如何能够在两个屏幕之间实现路由,并且能够返回到前一个屏幕,但不能将它们全部堆叠 .
目前,我有两条路线: /
和 /planets
默认初始路线是 /
当我导航到 /planets
时,我得到两条路线的堆栈,我可以回到 /
然后退出应用程序 . 但是当我多次点击这两条路线时,它们相互堆叠,我得到无限的路线堆叠 . 我希望最大堆栈大小为2,并通过pop()的能力导航 . 可能吗 ?我怎么能做到这一点?
void _navigateTo(BuildContext context, Screen screen) {
Navigator.pop(context);
if (Screen.HomeScreen == screen) {
Navigator.pushReplacementNamed(context, '/');
} else if (Screen.PlanetsScreen == screen) {
Navigator.pushReplacementNamed(context, '/planets');
}
}
这是由于大小为1的堆栈,并且总是在我推送并希望返回应用关闭时...