android - 如何在 Android 4.3 api 18 上更改 ActionBar 标题文本的颜色

标签 android android-actionbar-compat

我正在使用 appcompat v7 库来支持 api 级别 8 及更高级别中的操作栏。我正在尝试更改操作栏标题文本的颜色。

标题文本的颜色在 GingerBread 中发生变化,但当我在手机上使用 JellyBean 运行应用程序时,颜色没有改变。

在 GingerBread 上,标题颜色变为红色:

enter image description here

在 JellyBean 上它保持黑色:

enter image description here

这是我的 styles.xml:

样式.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>

主要节日:

android:theme="@style/AppTheme" 

最佳答案

找到解决我自己问题的方法:

对于 api 级别 14 及更高级别,我必须使用 android:actionBarStyleandroid:titleTextStyleandroid:textColor

因此 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>

关于android - 如何在 Android 4.3 api 18 上更改 ActionBar 标题文本的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22353414/

相关文章:

android - 使用 Gradle 的 Travis-CI Android 测试不断超时

java - Firebase 用户注册问题

android - 设置主机卡仿真

android - appcompat-v7 工具栏菜单 - 选择颜色不影响文本背景

android - AppCompat 未显示操作栏

android - 选项卡 View 所选图像不起作用

android - android中 native 网络相关功能随机阻塞

android - 将 ShowCaseView 与 ActionBarCompat/ActionBarSherlock Android 结合使用

java - ActionBarSherlock 和 ActionBar 兼容性的区别