Comment styliser les éléments de menu sur une barre d’action Android

Il y a eu beaucoup de questions sur le style des barres d’action, mais celles que j’ai trouvées concernent le style des tabs, ou ont des réponses qui ne fonctionnent pas pour moi.

La question est vraiment simple. Je veux pouvoir changer le style de texte (même la couleur) des éléments de menu de la barre d’action.

J’ai lu ceci: http://android-developers.blogspot.com/2011/04/customizing-action-bar.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+blogspot%2FhsDu+%28Android+Developers+Blog% 29

Et cette question: Style d’une barre d’action dans Android Honeycomb

A partir de laquelle j’ai mis en place une application de test que j’utilise pour essayer de modifier les éléments du menu. Il utilise toutes les valeurs par défaut pour une application créée dans le plugin eclipse android, à l’exception des suivantes.

Un fichier de styles:

   @style/MyActionBar   @style/MyActionBar.TitleTextStyle @style/MyActionBar.MenuTextStyle   #F0F bold 24dip   #F0F bold 24dip   

Un menu pour la barre d’action:

      

L’activité principale:

 public class Main extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } /** * Create the options menu that is shown on the action bar */ @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main_menu, menu); return true; } } 

L’application comstack et s’exécute. Le style du texte du titre de la barre d’action fonctionne parfaitement (est-ce la belle nuance de rose # F0F que j’ai définie). Les éléments du menu ne changent pas mais avec un style par défaut (holo light).

Qu’est-ce que je fais mal ?

Plutôt que d’avoir l’élément android:actionMenuTextAppearance sous le style de votre barre d’action, déplacez-le sous le thème de votre application.

Je sais que c’est un ancien message, mais juste au cas où quelqu’un regarde ici. J’ai ajouté ceci à mon style.xml et cela a fonctionné pour moi.

    

Il faut changer

  

à

  

ainsi que. Cela fonctionne pour moi.

Je pense que le code ci-dessous

 @style/MyActionBar.MenuTextStyle 

doit être dans la section MyAppTheme .

Chris répond que ça marche pour moi …

Mon fichier values-v11 / styles.xml:

         

J’ai fait comme ça:

   

Je suppose que vous devez également styliser les vues générées à partir des informations de menu dans votre onCreateOptionsMenu (). Le style que vous avez appliqué jusqu’ici fonctionne, mais je doute que les éléments de menu, lorsqu’ils sont rendus avec du texte, utilisent un style identique à la partie titre de la barre d’action.

Vous voudrez peut-être regarder Menu.getActionView () pour obtenir la vue de l’action de menu et l’ajuster en conséquence.

BottomNavigationView navigation = (BottomNavigationView) findViewById (R.id.navigation);

  TextView textView = (TextView) navigation.findViewById(R.id.navigation_home).findViewById(R.id.smallLabel); textView.setTypeface(Typeface.DEFAULT_BOLD); textView = (TextView) navigation.findViewById(R.id.navigation_home).findViewById(R.id.largeLabel); textView.setTypeface(Typeface.DEFAULT_BOLD);