Flutter 当用户按下已按下的小部件上的后退按钮时,如何不显示抽屉

Flutter 当用户按下已按下的小部件上的后退按钮时,如何不显示抽屉,flutter,Flutter,使用抽屉,然后在ListTile onTab时按下: Navigator.push( context, new MaterialPageRoute( builder: (context) => new MyWidget(); 当用户按下按下小部件上的“后退”按钮时,导航是否可能不显示抽屉,而只显示脚手架主体 我看了一下在WillPopScope中包装MyWidget,然后回调,但没有成功 我只

使用抽屉,然后在ListTile onTab时按下:

    Navigator.push(
        context,
        new MaterialPageRoute(
            builder: (context) =>
                new MyWidget();
当用户按下按下小部件上的“后退”按钮时,导航是否可能不显示抽屉,而只显示脚手架主体

我看了一下在WillPopScope中包装MyWidget,然后回调,但没有成功


我只想在用户单击图标时显示抽屉。

最简单的方法是在进入下一屏幕之前关闭抽屉。您可以使用
Navigator.pop(上下文)来实现这一点在调用第二个屏幕之前

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("First Page"),
      ),
      drawer: Drawer(
        child: ListView(
         padding: EdgeInsets.zero,
          children: <Widget>[
            DrawerHeader(
              child: Text("Title page"),
            ),
            ListTile(
              title: Text('Item 1'),
              onTap: () {
                Navigator.pop(context);
                Navigator.push(context, MaterialPageRoute(builder: (context) => SecondPage();
              },
            )
          ],
        ),
      ),
    );
  }
}
class MyHomePage扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:正文(“第一页”),
),
抽屉(
子:ListView(
填充:EdgeInsets.zero,
儿童:[
抽屉阅读器(
子项:文本(“标题页”),
),
列表砖(
标题:文本(“项目1”),
onTap:(){
Navigator.pop(上下文);
push(上下文,MaterialPage路由(生成器:(上下文)=>SecondPage();
},
)
],
),
),
);
}
}