永久(非隐藏)抽屉

时间:2019-06-12 18:35:57

标签: flutter flutter-layout

我想根据MediaQuery输出提供不同的视图。在较小的设备(如电话)上隐藏/滑动抽屉,在较大的设备(如平板电脑)上隐藏/固定抽屉。

我看到抽屉是脚手架的一部分,但是现有的基础架构不允许永久抽屉,或者至少我看不到它。

1 个答案:

答案 0 :(得分:0)

您应该做的是为平板电脑创建不同的布局,因为抽屉在打开时会不透明。因此,为抽屉创建一个新的小部件(将在两个屏幕中使用该小部件),然后根据宽度检查其宽度并根据其大小将其作为抽屉参数或放在正文中,放在堆栈中

  Widget build(BuildContext context) {
    final size = MediaQuery.of(context).size;
    return Scaffold(
      appBar: AppBar(backgroundColor: Colors.orange),
      drawer: size.width < 500 ? Drawer() : null,
      body: Stack(
        children: <Widget>[
          if (size.width >= 500) Drawer(),
        ],
      ),
    );
  }