Open drawer on clicking AppBar

前端 未结 3 665
你的背包
你的背包 2020-12-05 02:06

If you create an Scafold there is an option for drawer. If you now create this drawer you get automaticly the menu icon on the leading position of the appbar. But i want an

3条回答
  •  无人及你
    2020-12-05 02:48

    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 {
      final GlobalKey _scaffoldKey = new GlobalKey();
    
      @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(),
            ),
          ),
        );
      }
    }
    
    

提交回复
热议问题