dart - 如何在 flutter 中更改 endDrawer 图标?

标签 dart flutter

默认情况下,flutter 中的 endDrawer 图标是汉堡包图标。我想将其更改为过滤器图标。

new Scaffold(
  endDrawer: Drawer(),
  ...
}

最佳答案

这应该做你想做的:

import 'package:flutter/material.dart';

class App extends StatefulWidget {
  @override
  _AppState createState() => _AppState();
}

class _AppState extends State<App> {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      home: new Scaffold(
        endDrawer: Drawer(),
        appBar: AppBar(
          actions: [
            Builder(
              builder: (context) => IconButton(
                    icon: Icon(Icons.filter),
                    onPressed: () => Scaffold.of(context).openEndDrawer(),
                    tooltip: MaterialLocalizations.of(context).openAppDrawerTooltip,
                  ),
            ),
          ],
        ),
        body: new Container(),
      ),
    );
  }
}

void main() => runApp(App());

请注意,'Builder' 是必需的,以便 IconButton 获取 Scaffold 下方的上下文。没有它,它将改为使用应用程序的上下文,因此无法找到脚手架。

另一种(更简洁的?)选项是制作一个包含 IconButton 的 StatelessWidget。

关于dart - 如何在 flutter 中更改 endDrawer 图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51957960/

相关文章:

listview - 动态添加 List<Widget> 到 ListView.children

java - 当 flutter 应用程序自动启动处于 BOOT_COMPLETED 时,在后台执行 Dart 函数?

dart - 如果我希望一切都按顺序在函数内执行,是否等待每一行?

json - Flutter:复杂的 json 序列化。解析 json 字符串以提供给 UI

http - 如何在 flutter 中使用 session 用户?

flutter - 向 setState 添加回调而不是不调用 setState 有什么意义?

regex - 在Dart中使用RegEx获取字符串的一部分

flutter - 如何在磁盘上没有本地文件的情况下将文件从 Flutter Web 保存到 Google Drive?

dart - Flutter 点击 1 个按钮应该为其余按钮设置动画

flutter - 类返回null而不是分配给其构造函数的字符串属性?