颤动:防止抽屉关闭

时间:2021-03-03 12:00:00

标签: flutter

是否可以在 Flutter 中防止关闭抽屉?

我在网络应用程序中使用 endDrawer 作为表单。我禁用了滑动打开,我还想只允许通过按钮关闭它,这样用户就不会通过点击外部意外关闭它。但是我看不到任何布尔值,例如阻止解除或任何实现 WillPopScope 的方式。

那么 - 是否可以不创建我自己的 Drawer 实现?

1 个答案:

答案 0 :(得分:0)

我使用的一个解决方法是为 Scaffold.body 设置一个 Row,然后将第一个小部件设为 Drawer,第二个是实际主体。通过不将其包含在 Scaffold 中,AppBar 不会控制 Drawer。

就像这样:

class FullScreenPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) => Scaffold(
    appBar: AppBar(title: Text("Big screen web app")),
    body: Row(
      children: [
        Drawer(/* Menu items here */),
        Placeholder(/* Normal body here */),
      ]
    )
  );
}