无法更改ActionBar标题文字颜色

时间:2016-12-02 12:52:47

标签: android android-actionbar android-styles android-actionbar-compat

我一直试图找到解决办法,但没有一个对我有用。 活动主题:

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/white</item>
    <item name="actionBarTheme">@style/MyActionBar</item>

</style>

<style name="MyActionBar" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<item name="android:background">@color/colorPrimaryDesignV4</item>
    <item name="android:windowActionModeOverlay">true</item>
    <item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
    <item name="colorControlNormal">@color/white</item>
    <item name="android:titleTextStyle">@style/TitleText</item>
</style>

<style name="TitleText" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title">
    <item name="android:textColor">#DE0F17</item>
    <item name="android:textSize">20sp</item>
</style>

MyActionBar中的所有属性都能正常工作但最后一个属性。无论如何,标题颜色和大小都不受影响。

我该怎么改变它?

3 个答案:

答案 0 :(得分:15)

我正在使用它,它适用于我

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="titleTextColor">@android:color/white</item>
    <item name="subtitleTextColor">@android:color/white</item>
</style>

答案 1 :(得分:2)

titleTextColor是仅适用于v23的属性。

  1. 检查您的布局xml文件中是否有android:theme<Toolbar>指定的属性,该属性优先于主题

  2. 覆盖您在互联网上随处指出的actionBarStyle属性。

  3. <style name="Theme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="actionBarStyle">@style/ActionBarStyle</item>
    </style>
    
    <style name="ActionBarStyle" parent="Theme.AppCompat.Light.DarkActionBar" >
        <item name="android:titleTextStyle">@style/ActionBarTitle</item>
    </style>
    
    <style name="ActionBarTitle" parent="Widget.AppCompat.ActionBar">
        <item name="android:textColor">@android:color/black</item>
    </style>
    

答案 2 :(得分:0)

这行代码对我有用

app:titleTextColor="@android:color/white"

Image Showing the implementation of a Toolbar