问题标签 [flutter-navigation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
14186 浏览

flutter - Flutter 导航,重新打开页面而不是再次推送

我是 Flutter 的新手,我正在开发一个有多个屏幕的应用程序。

我想知道阻止颤振创建同一路线的多个屏幕,例如我有Page 1Page 2,如果我单击按钮导航到 Page 2 并再次单击同一个按钮,应用程序将推送第 2 页的新屏幕,我将拥有它两次,如果我单击返回按钮,它会将我发送回第一个创建的第 2 页

有没有办法只创建一次每个页面,如果它已经被推送到堆栈,然后重新打开它?

我正在使用我Navigator.push的所有导航

0 投票
3 回答
3508 浏览

android - 在 Android for Flutter 中,'getApplicationContext()' 的替代方法是什么

如果有任何响应,我想创建一个通用的公共方法将应用程序导航到登录屏幕:unauthenticated

问题是我没有context在我的Navigator.

Android中我曾经使用:getApplicationContext(),我如何在Flutter中做到这一点?

0 投票
1 回答
46 浏览

flutter - Flutter navigator 是如何连续返回数据的?

例如:

例如:

共有三个页面:

ListPage-> DetailPage-> EditPage

如果修改了EditPage,需要刷新DetailPage,在DetailPage页面点击返回按钮的时候刷新ListPage;否则,我什么都不做!不是 EditPage 直接返回 ListPage

0 投票
1 回答
262 浏览

flutter - 在路线之间移除颤振导航

在我的颤振应用程序中,我想在路线之间删除,所以当用户按下它时,它将转到上一个屏幕。以下是我的屏幕流程。

  1. 仪表板登陆屏幕。
  2. 用户单击“主题列表”按钮并进入“主题列表”页面。
  3. 用户单击“创建新主题”并进入带有表单的新页面以填写该主题的基本信息。
  4. 填写表单后,用户单击保存按钮并使用他刚刚创建的主题详细信息登陆新页面。
  5. 现在如果用户点击返回,他/她应该登陆主题列表页面而不是创建新主题页面。
  6. 此外,如果他从“主题列表”页面再次按回,他应该会看到仪表板,而不是退出应用程序。

提前谢谢你。

0 投票
1 回答
4582 浏览

flutter - 如何知道在 Flutter 的嵌套小部件中发生了弹出事件

我目前正在构建应用程序,我需要使用嵌套路由来保持一个屏幕相同并在不同的屏幕上路由。我想当第二条路线被弹出时,我可以改变扩展的值来填满整个屏幕。Github 中的要点。这是代码示例:

内置的截屏

当单击右侧面板 Page1 上的关闭时,它还应该更改父级的状态。谢谢,

更新

在 João Soares 的帮助下工作

如果有更好的解决方案,我不必将回调传递给 PanelView 的每个子小部件,例如左侧面板中有 2 个按钮,并且它确定哪个小部件将显示在右侧面板中,其中按钮子确定子小部件将其设置为状态。

0 投票
1 回答
87 浏览

flutter - Flutter中如何维护TabBarView中的页面状态?

我使用 TabBarView 作为 BottomNavigationBar 的页面持有者,而不是索引堆栈。但这确实会在每次更改选项卡时刷新页面。状态不被维护。该怎么办?

0 投票
1 回答
541 浏览

android - 为什么应用程序在后退按钮上关闭 - Flutter

正如我的问题所说,按下手机后退按钮应用程序将返回自定义启动屏幕而不是上一页。知道会有什么问题吗?以下是 main.dart 代码

启动画面在 3 秒后关闭,应用程序进入登录页面。

提前致谢。

0 投票
3 回答
3278 浏览

flutter - 如何在颤动中从导航器堆栈中弹出最后三个路由

设想

我正在将用户从应用程序中的不同屏幕(例如destinationScreen、tractionScreen、reviewScreen 等)导航到loginScreen/signUpScreen,并且在成功登录后,我想将他从导航到loginScreen/signupScreen 的位置弹出回同一屏幕。

所以,我想弹出注册/登录过程中涉及的所有屏幕,比如3 个屏幕

我已经尝试过的

我已经尝试过navigator.popUntil但只有当你想每次都像这样弹回单个屏幕时它才能工作:

推送路线:

signInScreen 中的弹出路径:

但是这种情况仅在您必须路由到单个特定屏幕时才有效,但在我的情况下,我必须根据用户被引导到登录屏幕的位置路由到不同的屏幕。

我现在想做什么

现在我想要一个实现,在成功登录后,我从导航器堆栈中弹出前三个屏幕,我搜索了很多但找不到任何解决方案。那么,如何从导航器堆栈中弹出最后一条路线?

0 投票
1 回答
1348 浏览

flutter - 使用 Navigator 时保留页面状态

我有一个显示四个不同页面的 PageView() 和一个用于导航到这些页面的 BottomNavigationBar。当我使用 Navigator.push() 推送第二条路线并使用 Navigator.pop 将其弹出时,我在第一页上有一个 FloatingActionButton 初始页面重新构建,当我在第四页上使用它时也会发生同样的事情,返回第一个屏幕,而不是与我在该页面上执行操作时相同的屏幕。那么如何在保留该页面状态的同时导航回同一页面呢?

我使用 AutomaticKeepAliveClient mixin 来保存页面的状态,同时通过底部导航栏导航,但使用 Navigator 无法做到这一点。

Andrea Bezzito 的这篇文章 确实涵盖了其中的某些部分,但我不确定这是否正是我想要的。所以想寻找替代解决方案(如果有的话)。

谢谢你。

0 投票
0 回答
993 浏览

flutter - 带有侧抽屉导航的 Flutter 底部导航栏

我需要导航抽屉和底部导航所以我确实在我的项目中添加了一个自定义导航抽屉也添加并显示了底部导航栏但我面临的问题是我只能显示它但无法设置 onTap 功能到它并浏览页面。作为参考,我确实粘贴了示例代码。