SlideShare ist ein Scribd-Unternehmen logo
1 von 10
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

Weitere ähnliche Inhalte

Andere mochten auch

Catalogo aldea 2013-14
Catalogo aldea 2013-14Catalogo aldea 2013-14
Catalogo aldea 2013-14
maestrocurro
 
Beaute Sauvage
Beaute SauvageBeaute Sauvage
Beaute Sauvage
volpe3
 
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
 
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
 

Andere mochten auch (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
 

Mehr von Bruno Delb

Mehr von 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)
 

Kürzlich hochgeladen

Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
ikospam0
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
Faga1939
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
AmgdoulHatim
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
ssuserc72852
 

Kürzlich hochgeladen (18)

Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
Chapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon CoursChapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon Cours
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 

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