我正在创建“图片中的图片”小部件,然后渲染两个屏幕,一个屏幕在浮动,另一个屏幕在后台(都是脚手架)。当我使用Navigator.of(context).push()
时,我只想替换背景视图。我得到的当前行为是将一个屏幕推到两个屏幕上。有什么方法可以创建子导航器?我在考虑可以这样使用的东西:
Navigator(
child: MyWidget(),
)
在执行此操作后,当我调用Navigator.of(context)
时,将返回此导航器,并且该导航器将仅替换子窗口小部件。
为了更好地理解我在说什么,我制作了一段有关当前行为的视频:
答案 0 :(得分:0)
通过寻找其他关键字Overlay
而不是SubNavigator
,我找到了问题的答案:
https://stackoverflow.com/a/57073347/8633918
我要的东西存在,但是没有调用属性child,而是将其称为onGenerateRoute,并且有点复杂。使用方法如下:
Navigator(
onGenerateRoute: (settings) {
return MaterialPageRoute(builder: (_) => MyWidget());
}
)
以下是具有预期行为的视频: