问题标签 [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 投票
1 回答
44 浏览

dart - 当点击后退按钮导航到我访问的每个页面时

我有5个屏幕。

第 5 个屏幕有一个转到第 1 个屏幕的按钮。

我点击了第一个屏幕和第二个屏幕和第三个屏幕和第四个屏幕和第五个屏幕再次点击了第一个屏幕和第二个屏幕和第三个屏幕和第四个屏幕和第五个屏幕。(1>2>3>4>5>1>2>3>4>5)

我一次又一次地点击后退按钮。没有停在第一页。转到我访问过的每一页。(5<4<3<2<1<5<4<3<2<1)

我用了WillPopScope

0 投票
1 回答
576 浏览

dart - 第一次点击后如何禁用按钮

第一次点击后如何禁用按钮?

在此处输入图像描述

0 投票
0 回答
36 浏览

flutter - 推另一页时滑出一页的最佳方法是什么?

这个问题已经在这里讨论了一点,但是没有一个解决方案是干净的,或者做奇怪的事情,比如两次显示同一个页面。 Flutter 过渡出口

我正在努力做到这一点,因此当您导航到下一页时,当前页面向左滑动,而下一页从右侧进入。但是,我能想出的最佳解决方案是将当前页面的内容包装在 SlideTransition 中。当您导航到下一页时,您开始在“SlideRightRoute”动画中打开新页面,同时您开始制作动画以将当前页面滑出。

虽然这行得通,但感觉就像我在“反对框架工作”。我的问题是:是否有一种“正确”的方式来为页面设置动画,或者这目前是框架中的一个漏洞(这样的解决方案确实是我们目前能做的最好的解决方案)?

0 投票
1 回答
14083 浏览

flutter - 如何在颤动中刷新页面

我是颤振开发的新手。我想onResume()在flutter中实现android功能。我正在处理这样的then()使用

PageTwo如果我从to回来,这工作正常PageOne

我要去 pageThreePageOne->pageTwo using Push()pageTwo->PageThree using PushReplacement(). 当我pop()pageThree pageOne 不刷新。

0 投票
1 回答
10686 浏览

flutter - Flutter 通过命名路由导航直接传递参数

在进行命名路线导航时,我一直在查看此处的所有答案以传递参数,但它们似乎是旧答案或者它们不起作用。

从所写的内容来看,它应该可以工作,但似乎什么也没做,所以我不确定我的错误在哪里。

这就是我的设置方式:

Main.dart(使用我的命名路由设置):

HomePageResultsScreen.dart(单击按钮时,我使用 push named 导航到下一页,这是有效的,因为新页面 'ItemPageProfileScreen 正在打开):

ItemPageProfileScreen.dart(我尝试使用 MaterialApp onGenerateRoute 获取参数并打印到屏幕进行测试,但它不起作用):

谢谢你的帮助。

编辑第二次尝试:

0 投票
1 回答
23 浏览

flutter - 无法将所选信息发送到下一个屏幕

我正在尝试在颤振中构建一个 pokedex 应用程序。目前我已经创建了第一个屏幕,其中包含所有 151 个口袋妖怪、它们的图像、名称和 # 来自 json api 调用。我正在尝试制作功能,当您从第一个屏幕点击特定口袋妖怪时,将出现一个新屏幕,其中包含有关您点击的口袋妖怪的更多详细信息。目前在设置我的导航以携带该信息时遇到困难。

这是我的项目

我期待正确的口袋妖怪出现在屏幕 2(PokeDetails)上,但我还没有能够做到这一点

0 投票
0 回答
129 浏览

flutter - Flutter List Map 未在命名路由导航的屏幕之间传递

我在应用程序的屏幕之间传递数据。我已经能够使用字符串成功地做到这一点,但是在发送列表映射时,Navigator.pushNamed 什么都不做,也不会抛出任何错误。

我的命名路由设置如下,在 onGenerateRoute 中,我进行设置并将参数传递给 HomePageResultsScreen 和 ItemPageProfileScreen:

主要飞镖:

打开屏幕时,我只是发送一个可以正常工作的字符串,如下所示:

推送飞镖文件:

并像这样接收它:

接收飞镖文件:

这一切都很好。但是当我尝试发送 ListMap 时,问题就来了。

所以我改变了我的导航器来推送这样的地图:

推送飞镖文件:

然后我修改了接收文件以接收这样的列表:

接收飞镖文件:

但是当我尝试像这样发送列表时,新屏幕没有打开,也没有显示错误。真正奇怪的是,如果我注释掉添加类别的部分并将其保留为空列表映射,则 pushNamed 操作将起作用并且屏幕打开。所以我想知道这是我初始化列表映射的方式还是还有其他什么?

谢谢你的帮助

0 投票
0 回答
917 浏览

flutter - 在 Cupertino 选项卡之间切换时如何重置导航器

我正在尝试在 Flutter 中设置一个多页应用程序,其中底部标签栏包含四个最常用的页面,包括一个“更多”按钮。更多按钮显示带有指向其他页面的链接的页面。当点击一个页面时,我希望这个页面替换“更多”页面,因此创建了一个新的导航堆栈。但是,当切换到另一个选项卡然后返回“更多”选项卡时,会记住导航状态。这意味着我没有看到“更多”页面,而是我在切换标签时留下的页面。每次用户单击“更多”选项卡时,我都想显示“更多”页面。

我尝试使用导航器的 pushReplacement 方法,因此当用户单击更多页面时,他无法导航回更多页面列表。但是,在切换选项卡时,不再显示更多页面,因为它已被替换。

我还尝试调整选项卡回调方法,以弹出所有视图并将导航器返回到 MoreScreen。但是,这让我在控制台中出现错误:setState() or markNeedsBuild() called during build..

选项卡屏幕:

还有MoreScreen,它持有一个按钮可以转到另一个页面:

我希望每次切换标签时导航堆栈都会重置,但现在我必须手动使用:

Navigator.of(context).popUntil((route) => route.isFirst);

这会导致错误消息:setState() or markNeedsBuild() called during build.在标签中推送新页面然后切换标签后。

0 投票
1 回答
1136 浏览

flutter - Flutter - 如何在不使用 MaterialApp 的情况下处理导航?

在颤振中创建命名路由既简单又合乎逻辑,但仅在返回 MaterialApp 时。

我不是 Material Design 的忠实粉丝,我想从我自己的设计中创建一个 UI。

但是当我在返回容器时应用相同的模式时,我得到一个错误。

所以我的问题是如何使用 vanilla Flutter App 命名路由设置,或者我是否被迫在我的项目中使用 MaterialApp?

提前致谢

0 投票
2 回答
194 浏览

android - 如何导航到另一个屏幕

我有一个下一个RaisedButton可以进入下一个名为DetailOracion的屏幕。

基于Flutter的示例推送新屏幕但不起作用。

我的详情Oracion

错误消息是下一个