2013-09-24 10 views
8

私はこのようなXMLいますAndroidのアクションバーのテキストの色

<resources> 

<style name="AppBaseTheme" parent="android:Theme.Holo.Light"> 
</style> 

<style name="AppTheme" parent="AppBaseTheme"> 
    <item name="android:actionBarStyle">@style/MyActionBar</item> 
    <item name="android:titleTextStyle">@style/TitleColor</item> 
</style> 

<style name="MyActionBar" parent="android:Widget.Holo.Light.ActionBar.Solid.Inverse"> 
    <item name="android:background">#800000</item> 
</style> 

<style name="TitleColor" parent="android:TextAppearance.Holo.Widget.ActionBar.Title"> 
    <item name="android:textColor">#000099</item> 
</style> 
</resources> 

背景色が正しく設定されていますが、タイトルの色は変更されません。どこで間違いを犯したのですか? ありがとう!これに

+0

私はこのSOリンクがお手伝いします信じて - http://stackoverflow.com/questions/16770015/android-title-bar-color-dont-change – zillaofthegods

答えて

21

変更を:

<resources> 

    <style name="AppBaseTheme" parent="android:Theme.Holo.Light"> 
    </style> 

    <style name="AppTheme" parent="AppBaseTheme"> 
     <item name="android:actionBarStyle">@style/MyActionBar</item> 
    </style> 

    <style name="MyActionBar" parent="android:Widget.Holo.Light.ActionBar.Solid.Inverse"> 
     <item name="android:background">#800000</item> 
     <item name="android:titleTextStyle">@style/TitleColor</item> 
    </style> 

    <style name="TitleColor" parent="android:TextAppearance.Holo.Widget.ActionBar.Title"> 
     <item name="android:textColor">#000099</item> 
    </style> 
</resources> 
+1

おかげで、それが働きました!なぜあなたはそのスタイルタグの中にいる必要があるのか​​私に説明することができますか?私は別の原因を知りたい、私は何も学んでいない。 – Bade

+0

問題ありません。問題は、ベーステーマで 'titleTextStyle'をオーバーライドしたことですが、あなたのActionBarテーマによってオーバーライドされているはずです。 – Ahmad

+0

titleTextStyleはactionBar "group"に属していますか?私はそれがアプリケーション全体を含んでいると思った。 – Bade

1

私はこれが働いていたものですあなたはまた、この

ActionBar actionbar = getSupportedActiobar(); 
actionBar.setTitle(Html.fromHtml("<font color='#ff0000'>ActionBarTitle </font>")); 
2

を使用しています私のために...

<style name="MyActionBar" 
    parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse"> 
    <item name="android:background">@color/titleBarBgColor</item> 
    <item name="android:titleTextStyle">@style/EldTheme.ActionBar.TitleTextStyle</item> 
    <item name="android:subtitleTextStyle">@style/EldTheme.ActionBar.TitleTextStyle</item> 
    <!-- Support library compatibility --> 
    <item name="background">@color/titleBarBgColor</item> 
    <item name="titleTextStyle">@style/EldTheme.ActionBar.TitleTextStyle</item> 
    <item name="subtitleTextStyle">@style/EldTheme.ActionBar.TitleTextStyle</item> 
</style> 
<style name="EldTheme.ActionBar.TitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"> 
    <item name="android:textColor">@color/titleBarTextColor</item> 
</style> 
+0

これはアップデートのためかどうかわかりませんが、getActionBar()を使用してアクセスする必要がありました – JackalopeZero

0

のようなプログラムで変更することができ、この

<resources> 

<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light"> 
    <item name="actionBarStyle">@style/myTheme.ActionBar</item> 
    <item name="actionMenuTextColor">@color/action_text_color</item> 
</style> 

<!-- Application theme. --> 
<style name="AppTheme" parent="AppBaseTheme"></style> 

<style name="myTheme.ActionBar" parent="@style/Widget.AppCompat.ActionBar"> 
    <item name="titleTextStyle">@style/myTheme.ActionBar.Text</item> 
    <item name="background">@drawable/abc_tab_indicator_ab_holo</item> 
    <item name="backgroundStacked">@drawable/abc_ab_transparent_dark_holo</item> 
    <item name="backgroundSplit">@drawable/abc_ab_bottom_transparent_light_holo</item> 
</style> 

<style name="myTheme.ActionBar.Text" parent="@android:style/TextAppearance"> 
    <item name="android:textColor">@color/action_text_color</item> 
</style> 

関連する問題