SlideShare une entreprise Scribd logo
Développer sur Android
Android Lab Test
www.AndroidLabTest.com
Facebook
Par Bruno Delb
www.youtube.com/androidlabtest
www.twitter.com/brunodelb | www.facebook.com/brunodelb | blog.brunodelb.com
www.facebook.com/Androidlabtest
Youtube
Siteofficiel
Leçon : Le menu créé dynamiquement
Le menu créé dynamiquement
• Dans cette leçon, vous allez apprendre à créer un menu
dynamiquement.
• Pour cela, vous utilisez MenuItem et
onOptionsItemSelected.
Le menu créé dynamiquement
• Le menu doit être créé dans la méthode onCreateOptionsMenu().
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
...
return true;
}
• Pour sélectionner le mode du clavier (par exemple si vous utilisez
des raccourcis), utilisez la méthode setQwertyMode() :
menu.setQwertyMode(true);
Le menu créé dynamiquement
• Pour ajouter un élément au menu, utilisez la méthode add() :
MenuItem menuItem2 = menu.add(0, 1, 1, "Item 2");
• Pour ajouter un raccourci sur l’élément du menu, utilisez la méthode
setAlphabeticShortcut() :
menuItem2.setAlphabeticShortcut('b');
• Pour ajouter un icône à un élément du menu, utilisez la méthode
setIcon.
menuItem2.setIcon (R.drawable.app);
Le menu créé dynamiquement
• La méthode onOptionsItemSelected() est appelée à chaque
sélection d’un élément du menu avec en argument l’élément
sélectionné MenuItem.
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 0: // Item 1
return true;
case 1: // Item 2
return true;
}
return false;
}
Layout main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</LinearLayout>
Fichier Main.java
public class Main extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.setQwertyMode(true);
MenuItem menuItem1 = menu.add(0, 0, 0, "Item 1");
menuItem1.setAlphabeticShortcut('a');
MenuItem menuItem2 = menu.add(0, 1, 1, "Item 2");
menuItem2.setAlphabeticShortcut('b');
menuItem2.setIcon (R.drawable.app);
MenuItem menuItem3 = menu.add(0, 2, 2, "Item 3");
menuItem3.setAlphabeticShortcut('c');
return true;
}
Fichier Main.java
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 0:
Toast.makeText(this, "Item 1", Toast.LENGTH_LONG).show();
return true;
case 1:
Toast.makeText(this, "Item 2", Toast.LENGTH_LONG).show();
return true;
case 2:
Toast.makeText(this, "Item 3", Toast.LENGTH_LONG).show();
return true;
}
return false;
}
}
Testez sur votre mobile
View_Menu_Dynamic
Retrouvez-moi sur ma chaîne AndroidLabTest …
Sur ma chaîne Youtube
https://www.youtube.com/user/mobiledevlabtest
Qui suis-je ?
Bruno Delb,
auteur du 1er livre francophone de développement d’application Java sur mobile (2002),
développeur d’applications mobiles & sociales,
parlez-moi de vos projets.
Et bien sûr sur mon site Web :
http://blog.brunodelb.com

Contenu connexe

En vedette

Présentation sudrie 060215 v3b
Présentation sudrie 060215 v3bPrésentation sudrie 060215 v3b
Présentation sudrie 060215 v3b
fwinet
 
Catalogo aldea 2013-14
Catalogo aldea 2013-14Catalogo aldea 2013-14
Catalogo aldea 2013-14
maestrocurro
 
Los programas Conecta en la jornada Think Big
Los programas Conecta en la jornada Think BigLos programas Conecta en la jornada Think Big
Los programas Conecta en la jornada Think Big
e-Inclusión Fundación Esplai
 
Beaute Sauvage
Beaute SauvageBeaute Sauvage
Beaute Sauvage
volpe3
 
fidel el kung fushaolin
fidel el kung fushaolinfidel el kung fushaolin
fidel el kung fushaolin
fideluzcat
 
Webinaire - Adaptez votre contenu au mobile
Webinaire - Adaptez votre contenu au mobileWebinaire - Adaptez votre contenu au mobile
Webinaire - Adaptez votre contenu au mobile
Dialog Insight
 
Investigación Científica 9d
Investigación Científica 9dInvestigación Científica 9d
Investigación Científica 9d
gueste1fb0ab
 
Laboratorio De Circuitos
Laboratorio De CircuitosLaboratorio De Circuitos
Laboratorio De Circuitos
guesta678d8
 
Ponencia uab. 9 de abril de 2010.
Ponencia uab. 9 de abril de 2010.Ponencia uab. 9 de abril de 2010.
Ponencia uab. 9 de abril de 2010.
Universidad Autónoma de Barcelona
 
L'essentiel de PwC en 10 points
L'essentiel de PwC en 10 pointsL'essentiel de PwC en 10 points
L'essentiel de PwC en 10 points
PwC France
 
Convention GPV
Convention GPVConvention GPV
Convention GPV
Rouen
 
Trabajo Info
Trabajo InfoTrabajo Info
Trabajo Info
guest4bafc1
 
Medulas consorcio Plan Viabilidad
Medulas consorcio Plan ViabilidadMedulas consorcio Plan Viabilidad
Medulas consorcio Plan Viabilidad
Agrupación Galicia
 
Setup
SetupSetup
Setup
Cinthia
 
988 Feliz Ano Nuevo (Menudospeques Net)
988 Feliz Ano Nuevo (Menudospeques Net)988 Feliz Ano Nuevo (Menudospeques Net)
988 Feliz Ano Nuevo (Menudospeques Net)
Alvaro
 
C:\Cema\Psicofarmacos
C:\Cema\PsicofarmacosC:\Cema\Psicofarmacos
C:\Cema\Psicofarmacos
gueste2c1102
 
La EducacióN En Los Colegios Yina Paola Marlen Memo
La EducacióN En Los Colegios Yina Paola Marlen MemoLa EducacióN En Los Colegios Yina Paola Marlen Memo
La EducacióN En Los Colegios Yina Paola Marlen Memo
memoguille
 
red ciudadana por el cumplimiento gubernamental de las cumbres
red ciudadana por el cumplimiento gubernamental de las cumbresred ciudadana por el cumplimiento gubernamental de las cumbres
red ciudadana por el cumplimiento gubernamental de las cumbres
Gobernabilidad
 
energia interna de la tierra
energia interna de la tierraenergia interna de la tierra
energia interna de la tierra
Luis Suárez
 

En vedette (20)

Présentation sudrie 060215 v3b
Présentation sudrie 060215 v3bPrésentation sudrie 060215 v3b
Présentation sudrie 060215 v3b
 
Catalogo aldea 2013-14
Catalogo aldea 2013-14Catalogo aldea 2013-14
Catalogo aldea 2013-14
 
Los programas Conecta en la jornada Think Big
Los programas Conecta en la jornada Think BigLos programas Conecta en la jornada Think Big
Los programas Conecta en la jornada Think Big
 
Beaute Sauvage
Beaute SauvageBeaute Sauvage
Beaute Sauvage
 
fidel el kung fushaolin
fidel el kung fushaolinfidel el kung fushaolin
fidel el kung fushaolin
 
Webinaire - Adaptez votre contenu au mobile
Webinaire - Adaptez votre contenu au mobileWebinaire - Adaptez votre contenu au mobile
Webinaire - Adaptez votre contenu au mobile
 
Investigación Científica 9d
Investigación Científica 9dInvestigación Científica 9d
Investigación Científica 9d
 
Laboratorio De Circuitos
Laboratorio De CircuitosLaboratorio De Circuitos
Laboratorio De Circuitos
 
Ponencia uab. 9 de abril de 2010.
Ponencia uab. 9 de abril de 2010.Ponencia uab. 9 de abril de 2010.
Ponencia uab. 9 de abril de 2010.
 
Présentation1
Présentation1Présentation1
Présentation1
 
L'essentiel de PwC en 10 points
L'essentiel de PwC en 10 pointsL'essentiel de PwC en 10 points
L'essentiel de PwC en 10 points
 
Convention GPV
Convention GPVConvention GPV
Convention GPV
 
Trabajo Info
Trabajo InfoTrabajo Info
Trabajo Info
 
Medulas consorcio Plan Viabilidad
Medulas consorcio Plan ViabilidadMedulas consorcio Plan Viabilidad
Medulas consorcio Plan Viabilidad
 
Setup
SetupSetup
Setup
 
988 Feliz Ano Nuevo (Menudospeques Net)
988 Feliz Ano Nuevo (Menudospeques Net)988 Feliz Ano Nuevo (Menudospeques Net)
988 Feliz Ano Nuevo (Menudospeques Net)
 
C:\Cema\Psicofarmacos
C:\Cema\PsicofarmacosC:\Cema\Psicofarmacos
C:\Cema\Psicofarmacos
 
La EducacióN En Los Colegios Yina Paola Marlen Memo
La EducacióN En Los Colegios Yina Paola Marlen MemoLa EducacióN En Los Colegios Yina Paola Marlen Memo
La EducacióN En Los Colegios Yina Paola Marlen Memo
 
red ciudadana por el cumplimiento gubernamental de las cumbres
red ciudadana por el cumplimiento gubernamental de las cumbresred ciudadana por el cumplimiento gubernamental de las cumbres
red ciudadana por el cumplimiento gubernamental de las cumbres
 
energia interna de la tierra
energia interna de la tierraenergia interna de la tierra
energia interna de la tierra
 

Plus de Bruno Delb

Introduction to Swift (tutorial)
Introduction to Swift (tutorial)Introduction to Swift (tutorial)
Introduction to Swift (tutorial)
Bruno Delb
 
Android Lab Test : Storage of data with SharedPreferences (english)
Android Lab Test : Storage of data with SharedPreferences (english)Android Lab Test : Storage of data with SharedPreferences (english)
Android Lab Test : Storage of data with SharedPreferences (english)
Bruno Delb
 
Android Lab Test : Using the sensor gyroscope (english)
Android Lab Test : Using the sensor gyroscope (english)Android Lab Test : Using the sensor gyroscope (english)
Android Lab Test : Using the sensor gyroscope (english)
Bruno Delb
 
Android Lab Test : Using the network with HTTP (english)
Android Lab Test : Using the network with HTTP (english)Android Lab Test : Using the network with HTTP (english)
Android Lab Test : Using the network with HTTP (english)
Bruno Delb
 
Android Lab Test : Managing sounds with SoundPool (english)
Android Lab Test : Managing sounds with SoundPool (english)Android Lab Test : Managing sounds with SoundPool (english)
Android Lab Test : Managing sounds with SoundPool (english)
Bruno Delb
 
Android Lab Test : Using the text-to-speech (english)
Android Lab Test : Using the text-to-speech (english)Android Lab Test : Using the text-to-speech (english)
Android Lab Test : Using the text-to-speech (english)
Bruno Delb
 
Android Lab Test : Reading the foot file list (english)
Android Lab Test : Reading the foot file list (english)Android Lab Test : Reading the foot file list (english)
Android Lab Test : Reading the foot file list (english)
Bruno Delb
 
Android Lab Test : Creating a menu dynamically (english)
Android Lab Test : Creating a menu dynamically (english)Android Lab Test : Creating a menu dynamically (english)
Android Lab Test : Creating a menu dynamically (english)
Bruno Delb
 
Android Lab Test : Creating a dialog Yes/No (english)
Android Lab Test : Creating a dialog Yes/No (english)Android Lab Test : Creating a dialog Yes/No (english)
Android Lab Test : Creating a dialog Yes/No (english)
Bruno Delb
 
Android Lab Test : The styles of views (english)
Android Lab Test : The styles of views (english)Android Lab Test : The styles of views (english)
Android Lab Test : The styles of views (english)
Bruno Delb
 
Android Lab Test : Creating a menu context (english)
Android Lab Test : Creating a menu context (english)Android Lab Test : Creating a menu context (english)
Android Lab Test : Creating a menu context (english)
Bruno Delb
 
Android Lab Test : Using the camera preview (english)
Android Lab Test : Using the camera preview (english)Android Lab Test : Using the camera preview (english)
Android Lab Test : Using the camera preview (english)
Bruno Delb
 
Android Lab Test : The views, the Gallery (english)
Android Lab Test : The views, the Gallery (english)Android Lab Test : The views, the Gallery (english)
Android Lab Test : The views, the Gallery (english)
Bruno Delb
 
Android Lab Test : Using the WIFI (english)
Android Lab Test : Using the WIFI (english)Android Lab Test : Using the WIFI (english)
Android Lab Test : Using the WIFI (english)
Bruno Delb
 
Android Lab Test : Managing the telephone calls (english)
Android Lab Test : Managing the telephone calls (english)Android Lab Test : Managing the telephone calls (english)
Android Lab Test : Managing the telephone calls (english)
Bruno Delb
 
Android Lab Test : Reading the SMS-inbox (english)
Android Lab Test : Reading the SMS-inbox (english)Android Lab Test : Reading the SMS-inbox (english)
Android Lab Test : Reading the SMS-inbox (english)
Bruno Delb
 
Android Lab Test : Installation of application in Java (english)
Android Lab Test : Installation of application in Java (english)Android Lab Test : Installation of application in Java (english)
Android Lab Test : Installation of application in Java (english)
Bruno Delb
 
Android Lab Test : Ecrire un texte sur le canevas (français)
Android Lab Test : Ecrire un texte sur le canevas (français)Android Lab Test : Ecrire un texte sur le canevas (français)
Android Lab Test : Ecrire un texte sur le canevas (français)
Bruno Delb
 
Android Lab Test : La connectivité réseau avec HTTP (français)
Android Lab Test : La connectivité réseau avec HTTP (français)Android Lab Test : La connectivité réseau avec HTTP (français)
Android Lab Test : La connectivité réseau avec HTTP (français)
Bruno Delb
 
Android Lab Test : Le capteur gyroscope (français)
Android Lab Test : Le capteur gyroscope (français)Android Lab Test : Le capteur gyroscope (français)
Android Lab Test : Le capteur gyroscope (français)
Bruno Delb
 

Plus de Bruno Delb (20)

Introduction to Swift (tutorial)
Introduction to Swift (tutorial)Introduction to Swift (tutorial)
Introduction to Swift (tutorial)
 
Android Lab Test : Storage of data with SharedPreferences (english)
Android Lab Test : Storage of data with SharedPreferences (english)Android Lab Test : Storage of data with SharedPreferences (english)
Android Lab Test : Storage of data with SharedPreferences (english)
 
Android Lab Test : Using the sensor gyroscope (english)
Android Lab Test : Using the sensor gyroscope (english)Android Lab Test : Using the sensor gyroscope (english)
Android Lab Test : Using the sensor gyroscope (english)
 
Android Lab Test : Using the network with HTTP (english)
Android Lab Test : Using the network with HTTP (english)Android Lab Test : Using the network with HTTP (english)
Android Lab Test : Using the network with HTTP (english)
 
Android Lab Test : Managing sounds with SoundPool (english)
Android Lab Test : Managing sounds with SoundPool (english)Android Lab Test : Managing sounds with SoundPool (english)
Android Lab Test : Managing sounds with SoundPool (english)
 
Android Lab Test : Using the text-to-speech (english)
Android Lab Test : Using the text-to-speech (english)Android Lab Test : Using the text-to-speech (english)
Android Lab Test : Using the text-to-speech (english)
 
Android Lab Test : Reading the foot file list (english)
Android Lab Test : Reading the foot file list (english)Android Lab Test : Reading the foot file list (english)
Android Lab Test : Reading the foot file list (english)
 
Android Lab Test : Creating a menu dynamically (english)
Android Lab Test : Creating a menu dynamically (english)Android Lab Test : Creating a menu dynamically (english)
Android Lab Test : Creating a menu dynamically (english)
 
Android Lab Test : Creating a dialog Yes/No (english)
Android Lab Test : Creating a dialog Yes/No (english)Android Lab Test : Creating a dialog Yes/No (english)
Android Lab Test : Creating a dialog Yes/No (english)
 
Android Lab Test : The styles of views (english)
Android Lab Test : The styles of views (english)Android Lab Test : The styles of views (english)
Android Lab Test : The styles of views (english)
 
Android Lab Test : Creating a menu context (english)
Android Lab Test : Creating a menu context (english)Android Lab Test : Creating a menu context (english)
Android Lab Test : Creating a menu context (english)
 
Android Lab Test : Using the camera preview (english)
Android Lab Test : Using the camera preview (english)Android Lab Test : Using the camera preview (english)
Android Lab Test : Using the camera preview (english)
 
Android Lab Test : The views, the Gallery (english)
Android Lab Test : The views, the Gallery (english)Android Lab Test : The views, the Gallery (english)
Android Lab Test : The views, the Gallery (english)
 
Android Lab Test : Using the WIFI (english)
Android Lab Test : Using the WIFI (english)Android Lab Test : Using the WIFI (english)
Android Lab Test : Using the WIFI (english)
 
Android Lab Test : Managing the telephone calls (english)
Android Lab Test : Managing the telephone calls (english)Android Lab Test : Managing the telephone calls (english)
Android Lab Test : Managing the telephone calls (english)
 
Android Lab Test : Reading the SMS-inbox (english)
Android Lab Test : Reading the SMS-inbox (english)Android Lab Test : Reading the SMS-inbox (english)
Android Lab Test : Reading the SMS-inbox (english)
 
Android Lab Test : Installation of application in Java (english)
Android Lab Test : Installation of application in Java (english)Android Lab Test : Installation of application in Java (english)
Android Lab Test : Installation of application in Java (english)
 
Android Lab Test : Ecrire un texte sur le canevas (français)
Android Lab Test : Ecrire un texte sur le canevas (français)Android Lab Test : Ecrire un texte sur le canevas (français)
Android Lab Test : Ecrire un texte sur le canevas (français)
 
Android Lab Test : La connectivité réseau avec HTTP (français)
Android Lab Test : La connectivité réseau avec HTTP (français)Android Lab Test : La connectivité réseau avec HTTP (français)
Android Lab Test : La connectivité réseau avec HTTP (français)
 
Android Lab Test : Le capteur gyroscope (français)
Android Lab Test : Le capteur gyroscope (français)Android Lab Test : Le capteur gyroscope (français)
Android Lab Test : Le capteur gyroscope (français)
 

Dernier

1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif
NadineHG
 
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdfMÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
lebaobabbleu
 
Compréhension orale La famille de Sophie (12).pdf
Compréhension orale  La famille de Sophie (12).pdfCompréhension orale  La famille de Sophie (12).pdf
Compréhension orale La famille de Sophie (12).pdf
lebaobabbleu
 
Auguste Herbin.pptx Peintre français
Auguste   Herbin.pptx Peintre   françaisAuguste   Herbin.pptx Peintre   français
Auguste Herbin.pptx Peintre français
Txaruka
 
1-ROLE ET MISSION CPHS FORMATION SUR SITE
1-ROLE ET MISSION  CPHS  FORMATION SUR SITE1-ROLE ET MISSION  CPHS  FORMATION SUR SITE
1-ROLE ET MISSION CPHS FORMATION SUR SITE
hammani bachir
 
Bonnard, Pierre et Marthe.pptx
Bonnard,     Pierre     et    Marthe.pptxBonnard,     Pierre     et    Marthe.pptx
Bonnard, Pierre et Marthe.pptx
Txaruka
 
Aide-mémoire gestion des déchets pour le
Aide-mémoire gestion des déchets pour leAide-mémoire gestion des déchets pour le
Aide-mémoire gestion des déchets pour le
DomingoBen
 
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGESGUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
DjibrilToure5
 
A1- Compréhension orale - présentations.pdf
A1- Compréhension orale - présentations.pdfA1- Compréhension orale - présentations.pdf
A1- Compréhension orale - présentations.pdf
lebaobabbleu
 
1e geo metropolisation metropolisation x
1e geo metropolisation metropolisation x1e geo metropolisation metropolisation x
1e geo metropolisation metropolisation x
NadineHG
 
Top 10 destinations les moins chères pour étudier à l'étranger en 2024-2025
Top 10 destinations les moins chères pour étudier à l'étranger en 2024-2025Top 10 destinations les moins chères pour étudier à l'étranger en 2024-2025
Top 10 destinations les moins chères pour étudier à l'étranger en 2024-2025
ksibainternational
 

Dernier (11)

1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif
 
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdfMÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
 
Compréhension orale La famille de Sophie (12).pdf
Compréhension orale  La famille de Sophie (12).pdfCompréhension orale  La famille de Sophie (12).pdf
Compréhension orale La famille de Sophie (12).pdf
 
Auguste Herbin.pptx Peintre français
Auguste   Herbin.pptx Peintre   françaisAuguste   Herbin.pptx Peintre   français
Auguste Herbin.pptx Peintre français
 
1-ROLE ET MISSION CPHS FORMATION SUR SITE
1-ROLE ET MISSION  CPHS  FORMATION SUR SITE1-ROLE ET MISSION  CPHS  FORMATION SUR SITE
1-ROLE ET MISSION CPHS FORMATION SUR SITE
 
Bonnard, Pierre et Marthe.pptx
Bonnard,     Pierre     et    Marthe.pptxBonnard,     Pierre     et    Marthe.pptx
Bonnard, Pierre et Marthe.pptx
 
Aide-mémoire gestion des déchets pour le
Aide-mémoire gestion des déchets pour leAide-mémoire gestion des déchets pour le
Aide-mémoire gestion des déchets pour le
 
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGESGUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
 
A1- Compréhension orale - présentations.pdf
A1- Compréhension orale - présentations.pdfA1- Compréhension orale - présentations.pdf
A1- Compréhension orale - présentations.pdf
 
1e geo metropolisation metropolisation x
1e geo metropolisation metropolisation x1e geo metropolisation metropolisation x
1e geo metropolisation metropolisation x
 
Top 10 destinations les moins chères pour étudier à l'étranger en 2024-2025
Top 10 destinations les moins chères pour étudier à l'étranger en 2024-2025Top 10 destinations les moins chères pour étudier à l'étranger en 2024-2025
Top 10 destinations les moins chères pour étudier à l'étranger en 2024-2025
 

Android Lab Test : Le menu dynamique (français)

  • 1. Développer sur Android Android Lab Test www.AndroidLabTest.com Facebook Par Bruno Delb www.youtube.com/androidlabtest www.twitter.com/brunodelb | www.facebook.com/brunodelb | blog.brunodelb.com www.facebook.com/Androidlabtest Youtube Siteofficiel Leçon : Le menu créé dynamiquement
  • 2. Le menu créé dynamiquement • Dans cette leçon, vous allez apprendre à créer un menu dynamiquement. • Pour cela, vous utilisez MenuItem et onOptionsItemSelected.
  • 3. Le menu créé dynamiquement • Le menu doit être créé dans la méthode onCreateOptionsMenu(). public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); ... return true; } • Pour sélectionner le mode du clavier (par exemple si vous utilisez des raccourcis), utilisez la méthode setQwertyMode() : menu.setQwertyMode(true);
  • 4. Le menu créé dynamiquement • Pour ajouter un élément au menu, utilisez la méthode add() : MenuItem menuItem2 = menu.add(0, 1, 1, "Item 2"); • Pour ajouter un raccourci sur l’élément du menu, utilisez la méthode setAlphabeticShortcut() : menuItem2.setAlphabeticShortcut('b'); • Pour ajouter un icône à un élément du menu, utilisez la méthode setIcon. menuItem2.setIcon (R.drawable.app);
  • 5. Le menu créé dynamiquement • La méthode onOptionsItemSelected() est appelée à chaque sélection d’un élément du menu avec en argument l’élément sélectionné MenuItem. public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case 0: // Item 1 return true; case 1: // Item 2 return true; } return false; }
  • 6. Layout main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> </LinearLayout>
  • 7. Fichier Main.java public class Main extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); menu.setQwertyMode(true); MenuItem menuItem1 = menu.add(0, 0, 0, "Item 1"); menuItem1.setAlphabeticShortcut('a'); MenuItem menuItem2 = menu.add(0, 1, 1, "Item 2"); menuItem2.setAlphabeticShortcut('b'); menuItem2.setIcon (R.drawable.app); MenuItem menuItem3 = menu.add(0, 2, 2, "Item 3"); menuItem3.setAlphabeticShortcut('c'); return true; }
  • 8. Fichier Main.java public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case 0: Toast.makeText(this, "Item 1", Toast.LENGTH_LONG).show(); return true; case 1: Toast.makeText(this, "Item 2", Toast.LENGTH_LONG).show(); return true; case 2: Toast.makeText(this, "Item 3", Toast.LENGTH_LONG).show(); return true; } return false; } }
  • 9. Testez sur votre mobile View_Menu_Dynamic
  • 10. Retrouvez-moi sur ma chaîne AndroidLabTest … Sur ma chaîne Youtube https://www.youtube.com/user/mobiledevlabtest Qui suis-je ? Bruno Delb, auteur du 1er livre francophone de développement d’application Java sur mobile (2002), développeur d’applications mobiles & sociales, parlez-moi de vos projets. Et bien sûr sur mon site Web : http://blog.brunodelb.com