更改项目的操作栏文本颜色

时间:2014-03-24 21:57:17

标签: android

尝试在操作栏中更改此项目的操作栏文本颜色。这是项目

<item android:id="@+id/options_button"
        android:title="@string/options"
        android:showAsAction="ifRoom|withText"/>

这是我的styles.xml

<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="MyCustomTheme" parent="@android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/MyActionBarTheme</item>
        <item name="android:background">@color/White</item>
        <item name="android:textColor">@color/Red</item>
    </style>

    <style name="MyActionBarTheme" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">@color/White</item>
        <item name="android:textColor">@color/Red</item>
    </style>
</resources>

我在这里看到其他关于此的帖子,但在尝试了他们的解决方案后,对我没有任何作用?是否与我如何制作主题有关?所有我真正想要的是我的动作栏是白色的,不显示标题,并显示一个说明选项的按钮。我已经拥有了所有这些,但我想要的选项是红色,而不是黑色。

不要以为人们理解......

我知道改变标题的方法(我没有标题,我也不想要一个)。我想改变在动作栏中显示自己的项目的颜色......

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,但我找到了一个适用于任何类型的ActionBar(Native,Sherlock或Compat)的解决方案

实际上,您可以使用HTML代码设置标题,并指定文本颜色。例如,要将ActionBar文本颜色设置为红色,只需执行以下操作:

getActionBar()/* or getSupportActionBar() */.setTitle(Html.fromHtml("<font color=\"red\">" + getString(R.string.app_name) + "</font>"));

您还可以使用红色#FF0000的十六进制代码,而不是单词red

但是,在操作栏上设置HTML字符串不适用于SDK v21 +中的Material主题。

如果要更改它,您应该在style.xml中设置主要文本颜色,如下所示。

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="android:Theme.Material.Light">
        <!-- Customize your theme here. -->
        <item name="android:textColorPrimary">@color/actionbar-text-color</item>

这可以帮助你。