2012-12-24 6 views
3

J'ai beaucoup cherché et je n'ai pas pu résoudre mon problème. Je souhaite personnaliser la barre d'action de mon application.Personnalisez Android ActionBar

J'appelle la actiong cette façon:

public boolean onCreateOptionsMenu(Menu menu) { 
super.onCreateOptionsMenu(menu); 
/* 
    * menu.add(int groupId, int itemId, int order, CharSequence title); 
    */ 
MenuItem menu0 = menu.add(0, 0, 0, "Action Item 0"); 
{ 
    menu0.setIcon(R.drawable.ic_launcher); 
    menu0.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); 
} 
return true; 
} 

Et mon style.xml:

<resources> 

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

<style name="AppTheme" parent="AppBaseTheme"> 

</style> 

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:textColor">#CCCCCC</item> 
</style> 

Cependant, le textcolor reste en défaut (# FFF), ont essayé tout et je ne sais pas où je vais mal, j'apprécie toute aide. Je vous remercie!

+1

De quoi voulez-vous exactement changer la couleur? Menu Action? – Andrei

+0

La couleur du titre de l'application dans l'ActionBar –

Répondre

3

Merci les gars, je fait ce que je veux par ce tutoriel: http://shreymalhotra.me/blog/tutorial/android/android-create-custom-themes-for-your-apps/

a ajouté le onCreate():

final ActionBar bar = getActionBar(); 

Et pour changer la couleur du titre de mon style.xml ressembler à ceci:

<style name="Theme.MyAppTheme" parent="android:style/Theme.Holo"> 
    <item name="android:actionBarStyle">@style/Theme.MyAppTheme.ActionBar</item> 
</style> 

<style name="Theme.MyAppTheme.ActionBar" parent="android:style/Widget.Holo.ActionBar"> 
    <item name="android:titleTextStyle">@style/Theme.MyAppTheme.ActionBar.TitleTextStyle</item> 
</style> 

<style name="Theme.MyAppTheme.ActionBar.TitleTextStyle" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title"> 
    <item name="android:textColor">#ccc</item> 
</style> 

: Im obs pas sûr, mais je pense que mon premier style fonctionnera avec cette ligne sur la méthode oncreate().

+2

Soit expliquer/résumer ce qui était dans le lien (éviter link-pourriture! ** FYI **) ou ce devrait plutôt être un commentaire et non une réponse! – t0mm13b

+0

Ok, je vais éditer ce post –

4

Essayez ceci:

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

<style name="AppTheme" parent="AppBaseTheme"> 

</style> 

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:textColor">#CCCCCC</item> 
    <item name="textColor">#CCCCCC</item> 
</style> 

Parfois, en raison de l'API que vous utilisez, la suppression android: fonctionne

essaie aussi de définir la couleur dans color.xml et utiliser cette façon:

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
     <item name="android:textColor">@color/mColor</item> 
     <item name="textColor">@color/mColor</item> 
</style> 

EDIT:

<style name="MyActionBar"parent="@android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:titleTextColor">@style/MyTheme.ActionBar.TitleTextColor</item> 
</style> 

<style name="MyActionBar.TitleTextColor" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title"> 
    <item name="android:textColor">@color/mColor</item> 
</style> 
+0

J'utilise min API 8. Eclipse ne me laisse pas courir. Dans les articles sans le "android:" montre ceci: "Aucune ressource trouvée qui correspond au prénom: attr 'textColor'" –

+1

vérifier la partie éditée –

+0

Eclipse ne reconnaît pas l'attr "android: titleTextColor", je ne sais pas comprenez pourquoi ... –