Flutter TabBar没有将另一个屏幕显示为全屏-颤振

Flutter TabBar没有将另一个屏幕显示为全屏-颤振,flutter,flutter-layout,Flutter,Flutter Layout,我使用底部导航栏作为我的主页。 在项目的底部导航中,单击打开一个包含TabBarView的屏幕。 在我的标签栏视图中点击我正在做的容器:: onTap: (){ // _tabController.animateTo(value) Navigator.push(context, MaterialPageRoute(builder: (context) => Screen(),

我使用底部导航栏作为我的主页。 在项目的底部导航中,单击打开一个包含
TabBarView
的屏幕。 在我的标签栏视图中点击我正在做的容器::

onTap: (){
                  // _tabController.animateTo(value)
                  Navigator.push(context,
                      MaterialPageRoute(builder: (context) => Screen(),fullscreenDialog: true));
                }

从上面的代码中,我在下图中得到了这个输出,我需要将第二个屏幕显示为全屏,就像tabbar屏幕上的no app bar一样。

如果您想隐藏特定状态的AppBar和TabBarView,您可以在小部件树上设置条件

class _ExampleState extends State<Example> {
  bool _control = true;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: _control
            ? AppBar(
                title: Text("Title Text"),
              )
            : null,
        body: RaisedButton(
          onPressed: () {
            setState(() {
              _control = !_control;
            });
          },
          child: Text('Toggle AppBar'),
        ));
  }
}
class\u示例状态扩展状态{
布尔控制=真;
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:\u控件
?AppBar(
标题:文本(“标题文本”),
)
:null,
主体:升起按钮(
已按下:(){
设置状态(){
_控制=!\u控制;
});
},
子项:文本(“切换应用程序栏”),
));
}
}

我发现,要从显示appBar的屏幕导航到隐藏appBar的屏幕,对我来说,最好的方法是稍微修改
MaterialPage路径

      Navigator.of(context, rootNavigator: true).push(
        MaterialPageRoute(
          builder: (context) => HomeScreen(),
        ),
      );

对我来说,关键的一点就是在命令中添加
rootNavigator:true
,因为这会将页面推到appBar的顶部

是否要隐藏特定屏幕的应用程序栏和选项卡栏?是sure@easeccydo你知道这件事吗@Nardepsinh Vaghelai有两个不同的屏幕,所以设置状态将不起作用。我需要更多地了解您的应用程序结构。这取决于您如何进行状态管理。请注意,使用根导航器会中断分析的屏幕跟踪,因为它无法在
RouteObserver.didPop