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

时间:2019-02-25 17:31:21

标签: flutter

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

    Navigator.push(
        context,
        new MaterialPageRoute(
            builder: (context) =>
                new MyWidget();

当用户按下推入的窗口小部件上的“后退”按钮时,导航是否可能不显示抽屉,而只是显示支架主体?

我看过将MyWidget包装在WillPopScope中,然后回调,但没有成功吗?

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

1 个答案:

答案 0 :(得分:1)

最简单的方法是在进入下一个屏幕之前关闭抽屉。您可以在调用第二个屏幕之前使用Navigator.pop(context);进行此操作。

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();
              },
            )
          ],
        ),
      ),
    );
  }
}