web-dev-qa-db-fra.com

L'icône du menu d'options Android ne s'affichera pas

Je suis un livre sur Android Development pour commencer à écrire ma première vraie application. Je suis arrivé au point de créer un menu d'options pour l'une de mes activités. Le menu apparaît, mais l'icône correspondante de l'élément de menu refuse de s'afficher. Voici le code du menu:

ReminderListActivity

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        MenuInflater mi = getMenuInflater();
        mi.inflate(R.menu.list_menu, menu);
        return true;
    }

res/menu/list_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:Android="http://schemas.Android.com/apk/res/Android" >
    <item Android:id="@+id/menu_insert"
        Android:icon="@drawable/menu_add"
        Android:title="@string/menu_insert" />

</menu>

J'ai copié l'icône ic_menu_add.png (32x32px) d'un de mes sous-dossiers du SDK Android dans mon dossier res/drawable-mdpi et renommé le fichier en menu_add.png. J'ai actualisé le dossier dans Eclipse pour que l'icône apparaisse et, comme vous pouvez le constater, je l'ai défini comme icône pour l'élément de menu dans mon fichier de présentation. J'ai essayé d'exécuter mon projet dans l'émulateur à quelques reprises, mais l'icône ne s'affiche jamais. Pour mémoire, j'utilise Android 4.0.3 ..

Des idées?

16
Jort

Sur Android 3.0+, l’approche préférée pour le menu des options (un menu Spillover dans la barre d’action) n’affichera pas les icônes. Si vous avez Android:targetSdkVersion="11" ou supérieur, les icônes n'apparaîtront jamais dans les menus sous Android 3.0+. Les icônes apparaîtront si vous proposez qu'un élément du menu d'options devienne un bouton de la barre d'outils, et les icônes apparaîtront sur les appareils Android 1.x/2.x.

29
CommonsWare

Cela fonctionne parfaitement pour moi dans API 23

<menu xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools"
tools:context=".MainActivity">
<item
    Android:icon="@drawable/ic_menu"
    Android:orderInCategory="100"
    Android:title="Option Menu"
    app:showAsAction="always">
    <menu>
        <item
            Android:id="@+id/action_myorder"
            Android:icon="@drawable/ic_order"
            Android:title="My Order" />
        <item
            Android:id="@+id/action_myaccount"
            Android:icon="@drawable/ic_account"
            Android:title="My Account" />
        <item
            Android:id="@+id/action_share"
            Android:icon="@drawable/ic_share"
            Android:title="Share" />
        <item
            Android:id="@+id/action_term_condition"
            Android:icon="@drawable/ic_terms"
            Android:title="Term and Conditions" />
        <item
            Android:id="@+id/action_logout"
            Android:icon="@drawable/ic_logout"
            Android:title="Logout" />
    </menu>
</item>

5
Ness Tyagi

Une bonne idée est que vous avez créé une mise en page avec RelativeLayout et que, lorsque l'utilisateur a sélectionné votre menu, votre mise en page s'affiche.

0
user3103823