android - Flutter 中的导航堆栈和启动模式是如何处理的?

标签 android dart flutter

我想知道如何通过满足应用程序开发过程中可能出现的所有要求来在 Flutter 中的屏幕之间导航。例如,正常导航到下一页很容易,但我想玩堆栈。 1.如何在登录完成后清除堆栈,以便在用户按下后退键时从主页完成应用程序。 2. 如何退出我的应用程序,即当我按下退出时,所有页面都从堆栈中清除并出现登录页面,如果按下返回则应用程序完成。

现在,如果有人可以仅针对以上两个提供示例或解释,那就太好了。谢谢。

最佳答案

对于这两种情况,您都可以使用 pushAndRemoveUntil .

情况 1,即您删除所有路由(登录路由)并导航到您的正常屏幕:

Navigator.of(context).pushAndRemoveUntil(yourHomeScreenRoute, (Route<dynamic> route) => false)

表达式(Route<dynamic> route) => false将始终返回 false,即删除所有路由。

情况 2,即您再次删除所有路由并导航到您的登录屏幕。

Navigator.of(context).pushAndRemoveUntil(yourLoginScreenRoute, (Route<dynamic> route) => false)

另一种方法就是 popUntil , 虽然我认为我的概念会让你满意。

如果您不知道如何创建路线,请检查 this link .

关于android - Flutter 中的导航堆栈和启动模式是如何处理的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51264037/

相关文章:

android - 'NoSuchMethodError:当我尝试执行SQFLITE类时,对空调用了 'insert'方法,为什么会这样呢?

firebase - 无法将 Firebase 与我的应用程序集成

dart - 如何创建两级循环进度指示器?

android - android开发中应该做单元测试吗?

java - 在没有硬编码声音路径的情况下关闭应用程序时播放声音

java - Android TCP - 应用程序关闭时套接字不会断开连接

java - 如何将事件的开始时间和结束时间与其他事件的开始时间和结束时间进行比较

datetime - 使用本地时区格式化日期/时间

firebase - 对Firebase的HTTP请求不起作用( flutter )

ios - 体系结构 x86_64 的 undefined symbol : "_OBJC_CLASS_$_GNSMessageManager" - NearBy native development for iOS in flutter app