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?
Réponses
Trop de publicités?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.