无法更改ActionBar标题文本颜色

9

我一直在尝试寻找解决方案,但都没有成功。

活动主题:

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

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

我该如何更改它?

4个回答

28

我正在使用这个东西,它对我有效。

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

3

titleTextColor 是仅在 v23 可用的属性。

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

  2. 覆盖您的 actionBarStyle 属性,如网络上所指出的那样。

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

3

2

it's working for me hope it will help u

Method1:

 Toolbar toolbar= (Toolbar)activity.findViewById(R.id.action_bar);
 if (toolbar!= null){
 toolbar.setTitleTextColor(Color.RED);
 }

方法二:

Toolbar toolbar= (Toolbar)activity.findViewById(R.id.action_bar);
 if (toolbar!= null){
 toolbar.setTitleTextColor(Color.parseColor("#3A1452"));
 }

方法三:

 Toolbar toolbar= (Toolbar)activity.findViewById(R.id.action_bar);
 if (toolbar!= null){
  toolbar.setTitleTextColor(getResources().getColor(R.color.color_carrot));
 }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接