2013-09-24 22 views
8

Ho xml come questo:ActionBar Android Colore testo

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

colore di sfondo è impostato correttamente, ma il colore titolo non cambia. Dove ho sbagliato? Grazie!

+0

Credo che questo SO collegamento vi aiuterà - http://stackoverflow.com/questions/16770015/android-title-bar-color-dont-change – zillaofthegods

risposta

21

Change a questo:

<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

grazie, ha funzionato! Puoi semplicemente spiegarmi perché deve essere all'interno di quel tag di stile. Voglio sapere perché altrimenti, non ho imparato nulla. – Bade

+0

Nessun problema. Il problema consisteva nel sovrascrivere 'titleTextStyle' nel tema base, ma avrebbe dovuto essere sovrascritto dal tema ActionBar. – Ahmad

+0

quindi titleTextStyle appartiene a actionBar "group"? Ho pensato che includesse l'intera applicazione – Bade

1

Sto usando questo

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

2

È inoltre possibile modificare a livello di codice come questo

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

Non so se questo è dovuto a un aggiornamento, ma ho dovuto usare getActionBar() per accedervi – JackalopeZero

0

Questo è ciò che ha funzionato per me ...

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