【问题标题】:Android. ActionBar. How to change ActionBar title color?安卓。操作栏。如何更改 ActionBar 标题颜色?
【发布时间】:2026-01-09 22:35:01
【问题描述】:

我正在尝试更改 ActionBar 标题颜色。我尝试了不同的方法来做到这一点。但我无法解决这个问题。我在 values/styles.xmlvalues-14/styles.xml

中创建了自己的操作栏主题

values/styles.xml

<style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light">   
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
    <item name="background">@color/grey_actionbar_background</item>
    <item name="icon">@drawable/ic_launcher</item>
    <item name="actionBarTabTextStyle">@style/MyActionBarTabText</item>
</style>

<style name="MyActionBarTabText" parent="@style/Widget.AppCompat.Light.ActionBar.TabText">
    <item name="android:textColor">@color/grey_text</item>
</style>

values-v14/styles.xml

<style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
    <item name="android:background">@color/grey_actionbar_background</item>
    <item name="background">@color/grey_actionbar_background</item>
    <item name="android:icon">@drawable/ic_launcher</item>
    <item name="icon">@drawable/ic_launcher</item>
    <item name="actionBarTabTextStyle">@style/MyActionBarTabText</item>
    <item name="android:actionBarTabTextStyle">@style/MyActionBarTabText</item>
</style>

<style name="MyActionBarTabText" parent="@style/Widget.AppCompat.Light.ActionBar.TabText">
    <item name="android:textColor">@color/grey_text</item>
</style>

grey_text 颜色为 #58585A。但是当我在 4.3 设备上运行时,ActionBar 标题颜色是 F3F3F3

我想知道为什么会这样。如何解决这个问题?

【问题讨论】:

标签: android android-actionbar android-appcompat


【解决方案1】:
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/ActionBar</item>
    ...
</style>

<style name="ActionBar" parent="@android:style/Widget.ActionBar">
  <item name="android:titleTextStyle">@style/ActionBar.Title</item>
  <item name="android:subtitleTextStyle">@style/ActionBar.Subtitle</item>
  ...
</style>

<style name="ActionBar.Title">
  <item name="android:textColor">@color/my_color</item>
</style>

<style name="ActionBar.Subtitle">
  <item name="android:textColor">@color/my_color</item>
</style>

【讨论】:

  • 你在使用支持库操作栏吗?
  • 是的,我正在使用 appcompat_v7。我在 Eclipse 中创建了这个项目。它是带有内置导航抽屉的默认项目。可能是导航抽屉导致了这个问题?
【解决方案2】:

试试Activity类“setTitleColor(int color)”的方法

【讨论】:

  • 试过 setTitleColor(getResources().getColor(R.color.grey_text));它没有帮助