首页 文章

如何在Flutter中处理导航堆栈和启动模式?

提问于
浏览
1

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

现在,如果任何人只能提供一个以上两个的例子或解释,那么这将是伟大的 . 谢谢 .

1 回答

  • 1

    对于这两种情况,您都可以使用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 .

相关问题