我正在尝试使用可以在我的应用页面上打开抽屉的IconButton,所以当我点击图标按钮时,我希望看到抽屉。我一直在寻找一种在线方式,但似乎只有两种解决方案:我可以使用appbar将IconButton放入,或者我可以尝试浮动操作按钮。但它们不是我想要的,我只想用IconButton来打开抽屉。有可能吗?
是的,您可以通过IconButton轻松打开抽屉,而无需使用appBar。您需要像我使用_scaffoldKey一样使用Key并使用_scaffoldKey.currentState.openDrawer()方法在IconButton小部件中打开抽屉。
class HomeState extends StatelessWidget {
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
@override
Widget build(BuildContext context) {
return Scaffold(
key: _scaffoldKey,
drawer: Drawer(
child: ListView(
children: <Widget>[
ListTile(
title: Text("Ttem 1"),
trailing: Icon(Icons.arrow_forward),
),
ListTile(
title: Text("Item 2"),
trailing: Icon(Icons.arrow_forward),
),
],
),
),
body: ListView(
children:[
Container(
margin: EdgeInsets.only(left: 15.0,top:100.0),
child: IconButton(
icon: Icon(Icons.menu),
onPressed: () {
_scaffoldKey.currentState.openDrawer();
},
),
),
]
),
);}
}