flutter drawer 自定义图标 icon 手动打开drawer...

方法1:GlobalKey

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()),
      ),
    );
  }
}

方法2:builder


class _TestState extends State<Test> {
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      drawer: new Drawer(),
      appBar: new AppBar(
        leading: Builder(
          builder: (context) => IconButton(
                icon: new Icon(Icons.settings),
                onPressed: () => Scaffold.of(context).openDrawer(),
              ),
        ),
      ),
    );
  }
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 对于开发人员来说,设计模式有时候就是一道坎,但是设计模式又非常有用,过了这道坎,它可以让你水平提高一个档次。而在a...
    WANKUN阅读 282评论 0 2
  • 原文出处: http://www.androidchina.net/6174.html Notification在...
    木木00阅读 12,423评论 3 32
  • 目录介绍 1.简单用法 2.AlertDialog源码分析2.1 AlertDialog.Builder的构造方法...
    杨充211阅读 1,199评论 1 1
  • 目录介绍 1.Notification简单概述 2.Notification通知用途 3.Notification...
    杨充211阅读 5,879评论 2 18
  • 最近刚看了一本小说, 书里的女主人从小染上了让旁人无法理解的强迫症。她必须清楚的知道 每一件物品的所在处。只要发现...
    cyrensw阅读 269评论 0 0