Flutter Drawer

Drawer(抽屉菜单)即通过右侧/左侧滑出来的菜单栏。在 Flutter 里使用的是 Drawer 组件。

使用的方式是在 Scaffold 里的 drawer 属性设置。

var imgUrl = 'https://img.zcool.cn/community/0167c05901528c' +
             'a8012145505a6888.jpg@1280w_1l_2o_100sh.jpg';

@override
Widget build(BuildContext context) {
    return Scaffold(
        appBar: (),
        body: (),
        drawer: Drawer(
            child: Container(
                color: const Color(0xfff1f2f3),

                child: Column(
                    children: <Widget>[
                        Image.network(this.imgUrl),

                        Container(
                            padding: EdgeInsets.all(20.0),
                            child: Row(
                                children: <Widget>[
                                    Icon(Icons.home, color: Colors.black87),
                                    Text('首页'),
                                ],
                            ),
                        )
                    ],
                ),
            ),
        )
    );
}

Drawer 常用属性:

  • child → Widget - Drawer 内容。
  • elevation → double - Drawer 阴影效果大小。
  • semanticLabel → String - Drawer 关闭/打开时的通知信息。

有时候先通过点击 Drawer 里的元素从而关闭 Drawer,那么如何实现?使用 Navigator.pop 可以关闭 Drawer。

MaterialButton(
    color: Colors.blue,
    textColor: Colors.white,
    child: Text('点我'),
    onPressed: () {
        Navigator.pop(context);
        // Or Navigator.of(context).pop();
    },
),

菜单项

菜单项可以自己定义也可以使用 ListTile 和 Divider 来实现。

ListTile(
    title: Text('说话心理学'),
    trailing: Icon(Icons.chevron_right),
),
Divider(),
ListTile(
    title: Text('从众心理学'),
    trailing: Icon(Icons.chevron_right),
),

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值