flutter 中的抽屉是在Scaffold中的一个属性drawer,这个是左抽屉;还有一个右抽屉endDrawer,使用方法也很简单
new Scaffold(
drawer: drawer();
endDrawer: _drawer(context),
appBar: new AppBar(
title: new Text('货源列表'),
centerTitle: true,
actions: <Widget>[
IconButton(
icon: new Icon(
Icons.location_on,
color: Colors.white,
),
),
],
),
body: body();
);
在drawer() 方法里面返回一个Drawer()就可以了,代码如下:
/抽屉
_drawer(BuildContext context) {
return new Drawer(
child: Scaffold(
appBar: new AppBar(
title: Text("筛选"),
centerTitle: true,
leading: GestureDetector(
child: Center(
child: Text("取消"),
),
onTap: (){
Navigator.pop(context);
},
),
actions: <Widget>[
GestureDetector(
child: Center(
child: Text(" 确定 "),
),
onTap: (){
Navigator.pop(context);
},
),
],
),
),
);
关闭的方法也很简单:Navigator.pop(context);
打开的方法是:按钮点击事件中调用:
Scaffold.of(context).openEndDrawer();
效果图如下: