如何更改ActionBar的标题字体颜色在Android 4.3 API 18 [英] How to change color of ActionBar's Title Text on Android 4.3 api 18
问题描述
我使用appcompat V7库,支持API级别8个,最多的动作条。我试图改变操作栏标题文本的颜色。
标题文字的颜色正在发生变化姜饼但是当我运行该应用程序在手机上用软糖的颜色没有变化。
在姜饼标题颜色变为红色:
在软糖它仍然是黑色的:
下面是我的styles.xml:
styles.xml:
<资源>
<样式名称=AppBaseTheme父=@风格/ Theme.AppCompat.Light>
<项目名称=actionBarStyle> @风格/ ActionBarStyle< /项目>
< /风格>
<样式名称=ActionBarStyle父=@风格/ Widget.AppCompat.Light.ActionBar.Solid>
<项目名称=titleTextStyle> @风格/ TitleBarTextColor< /项目>
< /风格>
<样式名称=TitleBarTextColor父=@风格/ TextAppearance.AppCompat.Widget.ActionBar.Title>
<项目名称=机器人:文字颜色> @色/红色和LT; /项目>
< /风格>
<! - 应用主题。 - >
<样式名称=AppTheme父=AppBaseTheme>
<! - 所有的定制,这不是针对特定的API级别的可以去这里。 - >
< /风格>
< /资源>
styles.xml为V-11:
<资源>
<样式名称=AppBaseTheme父=@风格/ Theme.AppCompat.Light>
<项目名称=actionBarStyle> @风格/ ActionBarStyle< /项目>
< /风格>
< /资源>
styles.xml为V-14:
<资源>
<样式名称=AppBaseTheme父=@风格/ Theme.AppCompat.Light>
<项目名称=actionBarStyle> @风格/ ActionBarStyle< /项目>
< /风格>
< /资源>
Mainfest:
安卓主题=@风格/ AppTheme
找到解决我自己的问题:
我必须使用安卓actionBarStyle
,安卓titleTextStyle
和机器人:文字颜色
的API级别14以上。
所以styles.xml为V-11将是:
<资源>
<样式名称=AppBaseTheme父=@风格/ Theme.AppCompat.Light>
<项目名称=机器人:actionBarStyle> @风格/ ActionBarStyle< /项目>
< /风格>
<样式名称=ActionBarStyle父=@风格/ Widget.AppCompat.Light.ActionBar.Solid>
<项目名称=机器人:titleTextStyle> @风格/ TitleBarTextColor< /项目>
< /风格>
<样式名称=TitleBarTextColor父=@风格/ TextAppearance.AppCompat.Widget.ActionBar.Title>
<项目名称=机器人:文字颜色> @色/红色和LT; /项目>
< /风格>
<! - 应用主题。 - >
<样式名称=AppTheme父=AppBaseTheme>
<! - 所有的定制,这不是针对特定的API级别的可以去这里。 - >
< /风格>
< /资源>
I am using appcompat v7 library to support action bars in api level 8 and up. I am trying to change the color of title text of action bar.
Color of title text is changing in GingerBread but when I run the app on my phone with JellyBean the color doesn't change.
On GingerBread Title Color changes to Red:
On JellyBean it remains black:
Here are my 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>
styles.xml for v-11:
<resources>
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
<item name="actionBarStyle">@style/ActionBarStyle</item>
</style>
</resources>
styles.xml for v-14:
<resources>
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
<item name="actionBarStyle">@style/ActionBarStyle</item>
</style>
</resources>
Mainfest:
android:theme="@style/AppTheme"
Found Solution to my own problem :
I have to use android:actionBarStyle
, android:titleTextStyle
and android:textColor
for api level 14 and up.
So the styles.xml for v-11 will be:
<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>
这篇关于如何更改ActionBar的标题字体颜色在Android 4.3 API 18的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!