navigation - 实际导航的 Flutter Navigation Drawer
问题描述
我有一个简单Scaffold
的抽屉和身体。我想在抽屉中选择一个项目并让脚手架的主体导航到一个新视图。
我发现的大多数方法(像这样)只是使用有状态小部件并在点击抽屉项目时更改其状态。
但是,这完全忽略了应用程序的导航堆栈,并且按返回不会按预期返回到上一个视图。
另一方面,Navigator.of(context).push...
单击项目时使用导航堆栈,但会更改整个屏幕,这也不是我想要的。
我尝试为脚手架的主体创建一个新的自定义导航器,但在NavigatorState
从抽屉中访问时遇到问题。
这对我来说似乎是一个常见问题(例如,所有谷歌应用程序都以这种方式工作),我对如何正确实现这一点有点困惑。自定义导航器是正确的方法吗?有一些可用的例子吗?
解决方案
看来您必须仅为抽屉创建一个 Widget,并将其包含在应用程序每个屏幕的 Scaffold 中。这样,您可以使用 Navigator 保留导航堆栈,并仅在您决定的屏幕中包含抽屉。
这是我找到示例的文章。
推荐阅读
- c# - WPF:安装项目/发布版本中的 LibVLCSharp 集成
- c++ - QT中qdialog的字体在哪里设置?
- jquery - 带有别名的 jQuery UI 自动完成
- typescript - 如何检查联合中的值是否包含在提取的联合中
- c++ - 使用 cpp 解析 YAML 小节
- ios - 使用 Swift 从 [NSDictionary] 访问特定键的值
- html - 当另一个元素具有使用 css 的特定类时,如何隐藏一个元素?
- matlab - 如何在 MATLAB 中制作特定的矩阵?
- php - Laravel Socialite 使用 Google 登录 - userFromToken
- javascript - 在javascript中使用带有拼接功能的apply