问题标签 [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.
android - 从 Flutter 中的 BottomNavigationBar-sceeen 导航到子屏幕
我目前正在开发我的第一个简单的颤振应用程序,并试图找出我们处理屏幕之间导航的最佳方法。
已经可能:
BottomNavigationBar
使用+浏览屏幕BottomNavigationBarItem
- 导航
Navigator.push(context,MaterialPageRoute(builder: (context) => Screen4()),);
问题:
- 在屏幕上有子屏幕
BottomNavigationBar
代码示例:
我想要三个主屏幕Screen1()
,Screen2()
并且Screen3()
可以从BottomNavigationBar
. 有Screen1()
一个按钮可以导航到另一个屏幕,我们称之为Screen4()
,用户可以在其中从项目列表中进行选择。然后,您可以将所有选择的项目添加到列表并导航回Screen1()
。
为了实现这一点,我创建了下面的代码。的主要Widget
将body
根据所选的当前索引进行更改BottomNavigationItem
。
主要.dart
问题是当我在Screen1()
- 小部件中导航时Screen4()
使用
导航将发生在外部,MyApp()
因此没有Scaffold
.
如果有人有一个例子,我会很高兴。感谢您的阅读。
flutter - 你如何重用使用 MaterialPageRoute 构建器创建的 Flutter 视图?
你如何重用使用 MaterialPageRoute 构建器创建的 Flutter 视图?当前,每当调用 Navigator.pushReplacementNamed 时,都会在小部件树中创建新视图。例如,以下代码将在小部件树中创建 4 个视图:
我希望小部件树中只有两个视图 - page1 和 page2 的单个实例。
这可能吗?
flutter - Flutter - 当我推送的页面被后退按钮弹出时如何得到通知?
假设这种情况:page1Navigator.push
到 page2。page2 上的用户单击后退按钮,因此 page2 弹出并且 page1 重新获得视图。如何在第 1 页捕捉到此事件?
flutter - 如何在 Flutter 中调用 Stream Builder 中的导航器?
我有一个问题,当我尝试将 navigator pop() 方法放入字符串生成器时,会出现此错误:setState() or markNeedsBuild() called during build
.
我读到您不能在流构建器中调用导航器,所以有人对如何解决这个问题有任何想法吗?
这是我的代码:
flutter - Flutter:子块正在初始化,但数据尚未存储在 shared_preferences 中
我用于我的应用程序 jwt 身份验证。我有带有 bloc 模式的主页,它选择页面将其加载到屏幕上(LoginScreen 或 AppScreen)。LoginScreen 有自己的 bloc 模式,也是 AppScreen。当我输入登录名和密码并单击登录时,会调度 LoginEvent,它将请求发送到 Web 服务并使用 jwt 令牌获取响应,该令牌将存储在共享首选项中,但同时 AppScreen 用他的 bloc 呈现,在这个AppScreen 的时间块正在发送数据请求(需要 jwt 令牌)但为空,因为尚未存储 jwt 令牌。我发现一种解决方法不是优雅的方式,我也可以使用延迟,但这不是正确的方式......
AppScreen 的解决方法:
如果我留下_bloc.add(AppScreenLunched());
数据无法加载到主页,因为它会从 Web 服务接收 null
如果我离开
按第一个add
数据为空
到第二个add
我终于得到了与块一起提供给主页的数据
有什么办法吗?
开始画面:
登录屏幕(部分):
应用屏幕:
授权块:
登录块:
底部导航栏块:
flutter - 如何获取当前路线的名称?
我需要获取我当前的路线名称。我习惯于在每个页面中GlobalKey
创建。所以我创建:navigatorSevice
Navigator.of(context)
navKey
而当我想重定向到另一个页面时,我会编写Keys.navKey.currentState.pushNamed()
或pushReplacementNamed
其他一些方法。
我想知道我在拦截器中的当前路线,我没有上下文。
flutter - 从外部打开我的颤振应用程序中的文件
我想问是否有人知道在按下共享时如何处理其他应用程序,我的颤振应用程序出现在那里以打开该文件(例如当您在 ios 上共享 pdf 并出现 whatsapp 时)。不知道有没有可能。寻找ios方式,android我们有插件
flutter - 如何防止在颤振中重建有状态的小部件
我正在从 api(屏幕 1)加载数据,并在单击项目时打开一个带有新状态小部件的新屏幕(屏幕 2)。但是现在当我从屏幕 2 按返回箭头时,我可以看到屏幕 1,但它再次调用 api。当我们从屏幕 2 回到屏幕 1 时,我不想那样做。
屏幕 1 代码:
屏幕 2:
当我从屏幕 2 返回时,如何防止再次重建屏幕 1?
flutter - 使用 PageRouteBuilder 时,用户手势和后退按钮不起作用
为了实现淡入淡出过渡,我使用 aPageRouteBuilder()
来构建我的一些路线。然而,我注意到在测试应用程序时,Android 上的后退按钮和 IOS 上的用户手势无法导航回之前的路线!
这是正常的行为PageRouteBuilder()
吗?还是我可能做错了什么?
多谢!