Android 使用appcompat更改操作栏菜单字体颜色

Android 使用appcompat更改操作栏菜单字体颜色,android,android-appcompat,Android,Android Appcompat,我有一个上下文操作模式,操作栏菜单的文本颜色应该是红色。 我可以使用更改文本颜色 <style name="AppTheme" parent="@style/Theme.AppCompat.Light"> <!-- Setting values in the android namespace affects API levels 14+ --> <item name="android:actionBarStyle">@style/MyStyl

我有一个上下文操作模式,操作栏菜单的文本颜色应该是红色。 我可以使用更改文本颜色

<style name="AppTheme" parent="@style/Theme.AppCompat.Light">
    <!-- Setting values in the android namespace affects API levels 14+ -->
    <item name="android:actionBarStyle">@style/MyStyledActionBar</item>
</style>

<style name="MyStyledActionBar" parent="@style/Widget.AppCompat.Light.ActionBar">
    <!-- Setting values in the android namespace affects API levels 14+ -->
    <item name="android:background">@drawable/bg_action_bar</item>
    <item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
    <item name="android:actionMenuTextAppearance">@style/MyActionBarMenuText</item>
    <item name="android:actionMenuTextColor">@style/MyActionBarMenuText</item>
    <item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverFlow</item>
</style>

<style name="MyActionBarTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">@color/font_half_white</item>
</style>

<style name="MyActionBarMenuText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Menu">
    <item name="android:textColor">@color/font_half_white</item>
</style>

<style name="MyActionButtonOverFlow" parent="@style/Widget.AppCompat.Light.Base.ActionButton.Overflow">
    <item name="android:src">@drawable/ic_action_search</item>
</style>
它在安卓2.3、4.1中工作。但当我在安卓4.4中运行同样的程序时。它显示默认的黑色

谁能告诉我,问题是什么


提前谢谢。

请使用下面的代码,它对我有用

但如果你有疑问,它不起作用,那么告诉我

<resources>

<!--
    Base application theme for API 14+. This theme completely replaces
    AppBaseTheme from BOTH res/values/styles.xml and
    res/values-v11/styles.xml on API 14+ devices.
-->
<style name="AppTheme" parent="AppBaseTheme">

    <!-- <item name="windowBackground">@color/background_window</item> -->
    <!-- <item name="android:actionBarStyle">@style/ActionBarStyle</item> -->

    <item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

<style name="MyActionBar" parent="@android:style/Widget.ActionBar">
    <item name="android:icon">@drawable/ic_launcher</item>
    <item name="android:background">#FF666666</item>
    <item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
</style>

<style name="MyActionBarTitleText" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
    <item name="android:textColor">@android:color/holo_blue_bright</item>
</style>

也许这不是最干净的方法,但要更改操作栏文本的颜色,我在java类中使用HTML代码,如下所示:

getSupportActionBar().setTitle(Html.fromHtml("<font color='#FF0000'>"+Your Title+"</font>"));

希望有帮助

创建文件夹res/value-v14,添加style.xml并进行修改there@RahulGupta . 是的,我也在那里添加了样式。获取相同的问题将parent=@style/Theme.AppCompat.Light更改为v14文件夹中的另一个,并检查它。对不起,我没有理解你的意思。你的意思是说我应该在v14文件夹中为该样式使用不同的父项是的,安卓actionbar在>14 API中支持的原因我尝试了相同的方法,但是仍然没有任何线索。非常感谢您的快速响应。只需复制上面的代码并在style.xml中通过它就可以了。看看发生了什么事没有它不起作用。。我想这是不习惯的。但是我在values文件夹中应用的样式将应用于android 2.3到4.1。实际上,它是一个上下文操作栏,在右上角有两个菜单全选|共享这两个菜单的文本应该受到影响。获取演示项目检查发生了什么错误我检查了您的代码。它工作得很好。但在我的应用程序中,我使用appcompat库,使应用程序支持从2.3到4.4。所以我想,当我在values-14文件夹中使用相同的样式时,会出现一些兼容性问题。它会改变操作栏菜单文本的颜色吗?上面这一行只会改变标题的颜色我猜..如果我错了请纠正我.你是对的。。。对于操作栏中的选项菜单,我使用styles.xml中的FF6C10。