我想编写 2 个按钮:第一个打开 Drawer
,第二个打开 endDrawer
。
我用的第一个按钮
onTap: () => _drawerKey.currentState.openEndDrawer(),
我用的第二个
onTap: () => _drawerKey.currentState.openDrawer(),
但是代码不起作用
最佳答案
试试这段代码,
class Act_Drawer extends StatefulWidget {
@override
_Act_DrawerState createState() => _Act_DrawerState();
}
class _Act_DrawerState extends State<Act_Drawer> {
final GlobalKey<ScaffoldState> _scaffoldkey = new GlobalKey();
@override
Widget build(BuildContext context) {
return Scaffold(
key: _scaffoldkey,
appBar: AppBar(
title: Text("Drawer Demo"),
automaticallyImplyLeading: false,
leading: StatefulBuilder(
builder: (BuildContext context, setState) {
return IconButton(
icon: Icon(Icons.format_align_left),
onPressed: () {
_scaffoldkey.currentState.openDrawer();
},
);
},
),
actions: <Widget>[
StatefulBuilder(builder: (BuildContext context, setState) {
return IconButton(
icon: Icon(Icons.format_align_right),
onPressed: () {
_scaffoldkey.currentState.openEndDrawer();
},
);
},
)
],
),
drawer: Drawer(),
endDrawer: Drawer(),
body: Container(),
);
}
}
关于button - 如何在 flutter 中使用 2 个按钮控制抽屉和 endDrawer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59590289/