42 votes

Comment créer un élément de menu Android à l'aide de l'icône de réglage Android ?

Pouvez-vous me dire comment créer un élément de menu Android à l'aide de l'icône de réglage Android ?

2 votes

Qu'est-ce que l'icône de configuration d'Android ?

0 votes

Je suis sûr qu'il fait référence aux icônes d'engrenage telles que ces

61voto

dbyrne Points 18604

Voici un liste des icônes standard . Je ne vois pas d'icône "paramètres". Peut-être voulez-vous dire "Préférences" ( ic_menu_preferences ) ?

Vous pouvez définir l'icône de manière programmatique comme suit :

menu.add(0, MENU_QUIT, 0, "Quit").setIcon(R.drawable.menu_quit_icon);

Vous pouvez également le définir dans votre présentation xml de la manière suivante :

<item android:id="@+id/save_button"
      android:icon="@android:drawable/ic_menu_save"
      android:title="Save Image"/>

0 votes

+1 merci, je cherchais comment référencer le drawable à partir de xml.

0 votes

Le code xml, ne fonctionne pas correctement dans Material Design (2015) et java, la ligne est créée d'une autre forme "getMenuInflater(),.."

0 votes

Il doit manquer quelque chose. Pas de material design, j'ai fait ce qui précède, et je ne vois pas d'icône de paramètres. Elle apparaît dans Android studio dans le code, mais pas à l'écran !

8voto

Kristóf Dombi Points 812

Vous pouvez voir toutes les icônes dans la fourchette du SDK Android :

_your_install_path_\android-sdk\platforms\android-10\data\res\drawable-hdpi\

et d'obtenir une référence à leur sujet :

android.R.drawable.ic_menu_preferences

tout comme c'était le cas pour votre dessin.

0 votes

A noter : certains d'entre eux ne sont pas publics, donc inutilisables.

6voto

Josh Pinter Points 3814

Ajouter une nouvelle ressource vectorielle.

  1. Fichier -> Nouveau -> Actif vectoriel.

enter image description here

  1. Cliquez sur l'icône pour la modifier.

enter image description here

  1. Sélectionnez l'icône souhaitée (par exemple, recherchez "setting").

enter image description here

  1. Ajuster d'autres paramètres.

  2. Utilisez cette nouvelle ressource vectorielle dans votre fichier xml.

    android:logo="@drawable/ic_settings_white_24dp"
  3. La fête !

enter image description here

1voto

Victor Ruiz C. Points 139

Si vous souhaitez gérer l'événement, essayez simplement ceci sur votre activité

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            // action with ID action_refresh was selected
            case android.R.drawable.ic_popup_sync:
                Toast.makeText(this, "ic_popup_sync selected", Toast.LENGTH_SHORT)
                        .show();
                break;
            default:
                break;
        }

        return true;
    }

Et dans votre dossier de menu, utilisez quelque chose comme ceci :

<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="com.example.test.app.MainActivity"
    >

    <item android:id="@+id/action_settings1"
        android:icon="@drawable/abc_ic_search"
        android:title="Find Location"
        android:orderInCategory="100"
        app:showAsAction="ifRoom" />

    <item android:id="@+id/save_button"
        android:icon="@android:drawable/ic_menu_save"
        android:title="Save Image"/>

    <item android:id="@+id/refresh"
        android:icon="@android:drawable/ic_popup_sync"
        android:title="Refresh"/>

</menu>

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