如何在颤动中更改抽屉图标?

问题描述 投票:0回答:2

抽屉具有此默认的三个水平条作为默认图标,但我想将其更改为其他内容。我已经检查了Drawer()下的可能选项,但是似乎没有属性附加到该属性。PS:我是Flutter的初学者。

flutter dart navigation uinavigationbar drawer
2个回答
0
投票
 appBar: AppBar(

    leading: Icon(Icons.favorite),

    title: Text("Drawer"),),

0
投票

这应该起作用。

Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title:Text('hi'),
        leading: IconButton(
          icon: Icon(Icons.accessible),
          onPressed: () => Scaffold.of(context).openDrawer(),
        ),
      ),
);

从文档->

{{widget Leading} Type:小部件显示在[title]前面的小部件。如果为null,并且[automaticallyImplyLeading]设置为true,则[AppBar]将暗示适当的窗口小部件。例如,如果[AppBar]位于也具有[Drawer]的[Scaffold]中,则[Scaffold]将用打开抽屉的[IconButton]填充此小部件(使用[Icons.menu])。如果没有[抽屉]并且父级[导航器]可以返回,则[AppBar]将使用调用[Navigator.maybePop]的[BackButton]。以下代码显示了如何手动指定抽屉按钮,而不是依靠[automaticallyImplyLeading]:

import 'package:flutter/material.dart';
Widget build(context) {
  return AppBar(
    leading: Builder(
      builder: (BuildContext context) {
        return IconButton(
          icon: const Icon(Icons.menu),
          onPressed: () {
            Scaffold.of(context).openDrawer();
          },
          tooltip: MaterialLocalizations.of(context).openAppDrawerTooltip,
        );
      },
    ),
  );
}

[Builder]在此示例中用于确保上下文引用子树的该部分。这样,即使在创建[Scaffold]的代码中也可以使用此代码段(在这种情况下,如果没有[Builder],上下文将无法看到[Scaffold],因为它将引用该小部件的祖先)。

© www.soinside.com 2019 - 2024. All rights reserved.