If you create an Scaffold
there is an option for a Drawer
. If you now create this drawer you get automatically the menu icon on the leading position of the Appbar. But I want another icon there to open the drawer. I tried to make an iconButton myself on the leading position, but this button can't open the drawer even with Scaffold.of(context).openDrawer()
.
Is there any option to replace the icon for the drawer button?
Use a Key
in your Scaffold
and show the drawer by calling myKey.currentState.openDrawer()
, here is a working code:
import "package:flutter/material.dart";
class Test extends StatefulWidget {
@override
_TestState createState() => new _TestState();
}
class _TestState extends State<Test> {
final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>();
@override
Widget build(BuildContext context) {
return new Scaffold(
key: _scaffoldKey,
drawer: new Drawer(),
appBar: new AppBar(
leading: new IconButton(
icon: new Icon(Icons.settings),
onPressed: () => _scaffoldKey.currentState.openDrawer(),
),
),
);
}
}