我正在使用appcompat v7库来支持api级别8及以上的操作栏。我正在尝试更改操作栏标题文本的颜色。
标题文字的颜色在GingerBread中正在改变,但是当我使用JellyBean在手机上运行应用程序时,颜色不会改变。
在GingerBread标题上颜色变为红色:
在JellyBean上它仍然是黑色的:
这是我的styles.xml:
styles.xml:
<resources>
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
<item name="actionBarStyle">@style/ActionBarStyle</item>
</style>
<style name="ActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
<item name="titleTextStyle">@style/TitleBarTextColor</item>
</style>
<style name="TitleBarTextColor" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">@color/red</item>
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
</resources>
v-11的styles.xml:
<resources>
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
<item name="actionBarStyle">@style/ActionBarStyle</item>
</style>
</resources>
v-14的styles.xml:
<resources>
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
<item name="actionBarStyle">@style/ActionBarStyle</item>
</style>
</resources>
Mainfest:
android:theme="@style/AppTheme"
答案 0 :(得分:15)
找到解决我自己问题的方法:
我必须使用android:actionBarStyle
,android:titleTextStyle
和android:textColor
来支持14级及以上的api。
因此v-11的styles.xml将是:
<resources>
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
<item name="android:actionBarStyle">@style/ActionBarStyle</item>
</style>
<style name="ActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
<item name="android:titleTextStyle">@style/TitleBarTextColor</item>
</style>
<style name="TitleBarTextColor" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">@color/red</item>
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
</resources>
答案 1 :(得分:0)
我会在我的样式中使用以下内容作为当前主题,以便更新ActionBar中的文本颜色:
<item name="android:actionMenuTextColor">@color/Red</item>
在最新的OS版本中似乎对我有用。