如何更改ActionBar的标题字体颜色在Android 4.3 API 18 [英] How to change color of ActionBar's Title Text on Android 4.3 api 18

查看:550
本文介绍了如何更改ActionBar的标题字体颜色在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆