【问题标题】:How can I change the size of drawer/back button icons of appbar without modifying the behavior provided by default in Flutter?如何在不修改 Flutter 中默认提供的行为的情况下更改 appbar 的抽屉/后退按钮图标的大小?
【发布时间】:2020-06-03 22:26:02
【问题描述】:

我正在尝试在我的 ThemeData 中更改 appbar 中图标的大小(Navigator 提供的“Back”和 Scaffold 提供的“Drawer”),修改 iconTheme 和 primaryIconTheme:

ThemeData(
    primarySwatch: Colors.blue,
    iconTheme: IconThemeData(color: Colors.grey, size: 32),
    primaryIconTheme: IconThemeData(color: Colors.grey, size: 32)
  ),

这行只改变图标的​​颜色,但大小不变。

我不需要改变 Flutter 处理这个按钮的行为,只需要改变它们的大小。

【问题讨论】:

    标签: flutter mobile icons appbar


    【解决方案1】:

    AppBar 小部件使用BackButton 小部件,因此除非您从不同分支中的框架修改它,否则无法进行更改,但最好的方法是使用Leading 属性和条件ModalRoute.of(context) ?.canPop 检查当前路由是否可以弹出。例如:

    AppBar( leading: ModalRoute.of(context)?.canPop == true ? IconButton( icon: Icon( Icons.arrow_back, size: 60, ), ) : null, title: Text( "Example", ), )

    【讨论】:

      【解决方案2】:

      Luis 的回答基本完整,但请注意,您需要在 IconButton 中定义 onPressed 回调,如下所示:

      AppBar(
            leading: ModalRoute.of(context)?.canPop == true
                ? IconButton(
                    icon: Icon(
                      Icons.arrow_back,
                      size: 60,
                      onPressed: () => Navigator.of(context).pop(),
                    ),
                  )
                : null,
            title: Text(
              "Example",
            ),
          )
      

      【讨论】:

        猜你喜欢
        • 2021-03-10
        • 1970-01-01
        • 2020-04-16
        • 1970-01-01
        • 2011-02-24
        • 1970-01-01
        • 2021-07-18
        • 2015-07-01
        • 1970-01-01
        相关资源
        最近更新 更多