【问题标题】:how to change color of text and icons on appbar flutter如何更改应用栏颤动上文本和图标的颜色
【发布时间】:2021-08-03 15:39:43
【问题描述】:

我在 Flutter 中更改 appbar 上文本和图标小部件的颜色时遇到问题。

我在材料应用程序中尝试过主题,但它不起作用。

这是在哪里工作:title: Text('Profile', style: TextStyle(color: Colors.black)), 但我想将此应用于所有应用栏。那么我应该在哪里更改材质主题。

MaterialApp(
          title: "My App",
          theme: ThemeData(
            appBarTheme: AppBarTheme(
              backgroundColor: Color(0xffFCD581),
              brightness: Brightness.dark,
            ),

如何更改 text: profileicon 的颜色。全球。

headline6 的颜色设置为Colors.black 有效。但它也使标题文本更小。我可以在headline6 中设置字体大小,它可以普遍反映。 但我认为我们使用 appbar 获得的默认标题大小已经足够合适了。那么有没有什么解决方案可以只改变appbar text, titlecolor而不影响fontsize

【问题讨论】:

  • 实际上没有。它现在不工作。一些解决方案就像设置headline6 : Colors.black 的颜色一样,但它也会将字体大小更改为较小的。虽然我们可以在那里普遍设置 appbar 的字体大小,但我想要字体大小,因为它是以前的默认值。

标签: flutter dart


【解决方案1】:

使用IconButton作为后退按钮并指定颜色,对于标题使用TextStyle并指定颜色。

1.使用 AppBar:

Scaffold(
      appBar: AppBar(
        backgroundColor: Colors.white,
        leading: IconButton(
          icon: Icon(Icons.arrow_back, color: Colors.red),
          onPressed: () => Navigator.of(context).pop(),
        ),
        title: Text("Sample", style: TextStyle(color: Colors.red),),
        centerTitle: true,
      ),

2。使用 ThemeData:

theme: ThemeData(
    primaryTextTheme: TextTheme(
      headline6: TextStyle(color: Colors.red),
    ),
    appBarTheme: AppBarTheme(
      iconTheme: IconThemeData(color: Colors.red),
    ),
  ),

输出:

【讨论】:

  • 我知道这一点。但我需要为每个应用栏这样做。我如何将其全局应用于所有应用栏。 ?我以前做过,但现在我不知道为什么这次它不起作用
  • 对于headline6 它正在工作。但问题是现在我们需要提供fontsize,如果我们不提供fontsize,它的默认值太小了。但是应用栏标题的默认大小是完美的,现在可以覆盖。
  • 添加了primaryTextTheme,这对你有用
【解决方案2】:

MaterialApp 小部件中使用AppBarThemeiconThemetitleTextStyle 属性。

【讨论】:

  • iconTheme 为图标工作。但titleTextStyle 不起作用。我也没有在我的应用栏中覆盖这些属性。在我的AppBar 中,我只给出了titleIcon
猜你喜欢
  • 2021-10-11
  • 2014-05-11
  • 1970-01-01
  • 2020-01-19
  • 2021-11-27
  • 1970-01-01
  • 2021-09-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多