我有一个带抽屉和身体的简单 Scaffold
. 我想在抽屉中选择一个项目,让脚手架的主体导航到新视图 .
我找到的大多数方法(like this)只使用有状态小部件并在轻敲抽屉项目时更改其状态 .
但是,这完全忽略了应用程序的导航堆栈,并且按下后退不会按预期返回到上一个视图 .
另一方面,单击项目时使用 Navigator.of(context).push...
使用导航堆栈,但更改整个屏幕,这也不是我想要的 .
我试图为脚手架的主体创建一个新的自定义导航器,但是从抽屉访问 NavigatorState
时遇到了问题 .
这似乎是一个常见的问题(例如,所有谷歌应用程序都这样工作),我对如何正确实现这一点感到困惑 . 自定义导航器是正确的方法吗?有一些例子吗?
2 回答
您似乎只需为抽屉创建一个Widget,并将其包含在应用程序每个屏幕的Scaffold中 . 这样,您可以使用导航器保留导航堆栈,并仅在您决定的屏幕中包含抽屉 .
这是我找到一个例子的文章 .
[https://proandroiddev.com/flutter-creating-drawers-e31414f7d71a][1]
我不知道天气是不是这样做的正确方法,但这是我做这件事的最佳方式 . 试试看 .
样本页面: