我定制了Drawer
和AppBar
,我希望AppBar
中的action widget被点击时,Drawer
被打开,我想知道定制的AppBar
如何实现
@override
Widget build(BuildContext context) {
return Scaffold(
endDrawer:buildProfileDrawer(),
appBar: setAppBar(),
body: HomeBody()
);
}
//custom widget
Widget setAppBar(){
return AppBar(
actions: <Widget>[
IconButton(
icon: Icon(Icons.account_circle,),
onPressed: () {
//Open the drawer
},
)
],
);
}
//Custom drawer
buildProfileDrawer() {
return Drawer(
//....drawer childs
);
}
3条答案
按热度按时间e4yzc0pl1#
应该在
Scaffold
中使用GlobalKey
,并在其上调用openEndDrawer
方法。在某个文件里。
在其他文件中
mutmk8jj2#
您可以在操作列表中使用:
np8igboo3#
我们可以用
Scaffold.of(context).openDrawer();
on on在CustomAppBar中的IconButton内或您要调用抽屉的任何位置按下。
在Scaffold中,只需确保为抽屉小部件提供
drawer:
属性。