2014-10-22 90 views
2

我无法更改操作栏标题的文本颜色。它如何在xml中完成?无法更改ActionBar标题的文本颜色

我的价值观,V11和值-V14包含此代码段style.xml

<resources> 

    <!-- 
     Base application theme for API 14+. This theme completely replaces 
     AppBaseTheme from BOTH res/values/styles.xml and 
     res/values-v11/styles.xml on API 14+ devices. 
    --> 
    <style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <item name="android:actionBarStyle">@style/MyActionBarStyle</item> 

    </style> 

    <style name="MyActionBarStyle" parent="@android:style/Widget.Holo.ActionBar"> 
     <item name="android:displayOptions">showTitle</item> 
     <item name="titleTextStyle">@style/titleStyle</item> 

    </style> 
    <style name="titleStyle" parent="@style/TextAppearance.AppCompat.Widget.Base.ActionBar.Title"> 
     <item name="android:textColor">#f2dca9</item> 
    </style> 
</resources> 

回答

1

试试这个

<style name="AppTheme" parent="Theme.AppCompat"> 
     <item name="android:actionBarStyle">@style/MyActionBar</item> 

    </style> 

    <style name="MyActionBar" parent="Widget.AppCompat.ActionBar"> 
     <item name="android:displayOptions">showTitle</item> 
     <item name="android:titleTextStyle">@style/MyActionBarTitleText</item> 
    </style> 

    <style name="MyActionBarTitleText" parent="TextAppearance.AppCompat.Widget.ActionBar.Title"> 
     <item name="android:textColor">#f2dca9</item> 
    </style> 
0

就做编程,

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

如果你使用API​​ 14和UP然后把它放入值-v14 .....

这就是它...

+0

是不是有办法通过XML来做到这一点? – user3726986 2014-10-22 08:57:05

2

请试试这个。它的工作原理 你,把这段代码在onCreate()方法

ActionBar bar = getActionBar(); 
bar.setTitle(Html.fromHtml("<font color='#ff0000'>ActionBartitle </font>")); 

或将它添加到操作栏根

<style name="ActionBar" parent="@style/Theme.AppCompat.Light"> 
    <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item> 
    <item name="actionMenuTextColor">@color/stdDarkBlueText</item> 
</style> 
<style name="Widget.Styled.ActionBar" parent="@style/Widget.AppCompat.Light.ActionBar"> 
    <item name="titleTextStyle">@style/ActionBarTitleText</item> 
    <item name="subtitleTextStyle">@style/ActionBarSubTitleText</item> 
</style> 
<style name="ActionBarTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"> 
    <item name="android:textColor">@color/stdDarkBlueText</item> 
    <item name="android:textSize">12sp</item> 
</style> 
<style name="ActionBarSubTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Subtitle"> 
    <item name="android:textColor">@color/stdDarkBlueText</item> 
    <item name="android:textSize">12sp</item>