flutter - 如何使用 Flutter Route Navigation 动态更改屏幕中的元素(部分)
问题描述
我有一个应用程序可以根据用户交互动态替换屏幕上的小部件,这意味着用户可以在按下按钮时在同一屏幕上切换不同的部分视图(小部件) - 例如,一旦用户按下按钮就显示表单.
对于屏幕之间的导航,我使用Navigator
with MaterialPageRoute
。这些效果很好,但仅用于推送或弹出全屏。
如果用户在特定屏幕上,我如何使用 Navigator 和可能的自定义实现Route<T>
来动态切换特定屏幕上的小部件?
期望的结果是我可以/alternative
使用 Navigator 导航到 PageRoute,并且根据当前屏幕,会发生以下情况:
- 如果当前屏幕是可以在占位符中显示所需小部件的屏幕(当前显示另一个屏幕)-> 切换到该屏幕内的部分小部件
- 如果当前屏幕是另一个屏幕 -> 切换到可以显示部分小部件的屏幕并在该屏幕内显示部分小部件
目前,我将显示的部分屏幕的索引存储在屏幕状态的变量中,但我想使用导航器,以便我可以从任何地方导航。
那可能吗?
解决方案
推荐阅读
- python - Python/Regex:如何通过正则表达式模式对字符串进行切片,同时将模式保持在匹配项中?
- ios - 无法将任何子视图添加到 scrollView
- charts - 创建 Google Chart 分组条重叠堆叠条
- ruby-on-rails - fe_sendauth:未提供密码 (PG::ConnectionBad) Docker 容器
- bash - 在bash中重复赋值
- c - 文件操作。一个 c 程序,将使用 fork() execvp() ,wait/waitpid() 获取单个命令行参数
- python - Python:如何将列表添加到现有的 txt 文件中,并且必须在文本文件中包含逗号?
- android - 为什么图像在 TabLayout 的中心?
- python - 在python中的值和键对中添加值列表
- python - 单击按钮时如何从另一个 Python 文件中读取 QLineEdit 值的值