Les menus sous Android

Dans cet article, nous allons apprendre à mettre en place un menu avec ces sous-menus pour une application Android



La Partie XML:

Commençant par la création d'un fichier XML (menu_item.xml) dans le dossier layout contenant la structure de notre menu.
  • La balise « menu » : représente le menu ou le sous-menu
  • La balise « item » : représente la structure de notre menu ou de notre sous menu

Je vous propose donc le code suivant :



<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@+id/menu1"

          android:title="Menu 1">

        <menu android:id="@+id/sousmenu1">

            <item android:id="@+id/sousmenu11"
                  android:title="Sous Menu 1-1"   />

            <item android:id="@+id/sousmenu12"

                  android:title="Sous Menu 1-2"/>
        </menu>
    </item>

    <item android:id="@+id/menu2"

          android:title="Menu 2"/>

</menu>

passons donc vers notre class d'Activity , càd la partie java

Partie JAVA

Dans notre class d'Activity, nous allons ajouter deux fonction en mode @Override:

  1. onCreateOptionsMenu(Menu menu) : se déclenche en appuyant sur le bouton menu du portable
  2. onOptionsItemSelected(MenuItem item)  : se déclanche en appuyant sur l'un des options de notre menu

@Override
    public boolean onCreateOptionsMenu(Menu menu) {

        //Permettant d'instancier un Menu XML en un objet Menu
        MenuInflater inflater = getMenuInflater();
        //Instanciation du menu XML spécifier en un objet Menu
        inflater.inflate(R.layout.menu_item, menu);
     
        return true;
    }


    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {

            case R.id.menu1:
                Toast.makeText(this, "Menu 1", Toast.LENGTH_SHORT).show();
                return true;

            case R.id.sousmenu11:
                Toast.makeText(this, "Sous Menu 1-1", Toast.LENGTH_SHORT).show();
                startActivity(new Intent(this, GpsActivity.class));
                return true;

            case R.id.sousmenu12:
                Toast.makeText(this, "Sous Menu 1-2", Toast.LENGTH_SHORT).show();
                return true;

            case R.id.menu2:
                Toast.makeText(this, "Menu 2", Toast.LENGTH_SHORT).show();
                return true;
        }
        return false;
    }



Ce qui vous reste Maintenant que lancez votre application et appuyez sur le bouton menu de votre Mobile :)

et Merci ;)

Comments

Popular posts from this blog

Exportation et Importation de vos sites sous IIS7 ou IIS8