4 votes

Est-il possible d'avoir un menu de la barre d'actions en utilisant la bibliothèque appcompat ?

Récemment, je suis passé de l'implémentation régulière de la barre d'action à l'implémentation appcompat récemment publiée. Mon application utilisait beaucoup la barre d'action pour fournir des fonctionnalités. Depuis le changement, sur les anciennes versions de l'API (inférieures à 11), il n'y a pas d'éléments de menu. Et les nouvelles versions de l'API en ont, mais ils n'affichent pas l'image comme configuré (si room|withText). Est-ce que quelqu'un d'autre a rencontré ce problème ou a trouvé des solutions?

25voto

David Wood Points 469

J'ai découvert ce qui se passait en utilisant la bibliothèque appcompat. Vous pouvez créer votre menu comme d'habitude.

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
   return true;
}

Mais, dans vos fichiers menu xml, ajoutez un attribut xmlns:app à la balise menu, comme ceci :

ensuite, dans chacun de vos éléments de menu, où vous spécifiez habituellement le style "showAs" (ifRoom, withText, etc.), incluez cette ligne alternative à côté de la régulière :

app:showAsAction="ifRoom|withText"
android:showAsAction="ifRoom|withText"

Après cela, vos menus s'afficheront correctement sur les API actuelles et anciennes. J'ai obtenu cette information de ici.

1voto

Androidea Points 11

Si un bouton physique "Menu" est présent sur l'appareil, il affichera le menu contextuel. Sinon, l'élément de menu sera ajouté à la ActionBar.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X