【问题标题】:Is it possible to change AppBar text color in my theme (AppCompat)?是否可以在我的主题 (AppCompat) 中更改 AppBar 文本颜色?
【发布时间】:2016-09-03 22:37:48
【问题描述】:

我只想更改 AppBar 文本颜色,但在主题编辑器中(我使用 Android Studio)我只能更改 textColorPrimary(它会更改 AppBar 文本颜色但也会更改 LargeText 颜色)。

我当前的主题:

我只能更改 textColorPrimary:

现在我像这样更改文本颜色:

style.xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

</resources>

activity.xml

...
<android.support.design.widget.AppBarLayout
        ...
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.v7.widget.Toolbar
           ...
            app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />

        ...

</android.support.design.widget.AppBarLayout>

是否可以在 style.xml 中更改我的 AppTheme 中的文本颜色?

【问题讨论】:

标签: android android-appcompat


【解决方案1】:
  1. 创建一个自定义主题,其父主题为您所需的基本主题, 比如ThemeOverlay.AppCompat.Dark.ActionBar
  2. 为主题添加自定义。对于标题颜色,它将是 textColorPrimary。对于溢出和图标,它将是 textColorSecondary

然后使用您创建的自定义主题为工具栏设置主题。

【讨论】:

  • 不起作用。我已将 textColor、titleTextColor 和 android:textColorPrimary 设置为黑色,但标题仍然是白色。
【解决方案2】:

@color/colorForeground

您可以在样式中添加“colorForeground”属性来更改应用栏的前景色。这也会改变文本颜色和菜单点的颜色。

或者您可以使用主题编辑器来编辑颜色。

【讨论】:

    猜你喜欢
    • 2015-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 2018-11-10
    • 1970-01-01
    • 1970-01-01
    • 2017-07-08
    相关资源
    最近更新 更多