10

Click here to load reader

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

Embed Size (px)

Citation preview

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

Développer sur AndroidAndroid Lab Test

www.AndroidLabTest.com

Face

bo

ok

Par Bruno Delb

www.youtube.com/androidlabtest

www.twitter.com/brunodelb | www.facebook.com/brunodelb | blog.brunodelb.com

www.facebook.com/Androidlabtest

You

tub

e

Site

off

icie

l

Leçon : Le menu créé dynamiquement

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

Le menu créé dynamiquement

• Dans cette leçon, vous allez apprendre à créer un menu

dynamiquement.

• Pour cela, vous utilisez MenuItem et

onOptionsItemSelected.

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

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);

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

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);

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

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;

}

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

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>

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

Fichier Main.javapublic 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;

}

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

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;

}

}

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

Testez sur votre mobile

View_Menu_Dynamic

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

Retrouvez-moi sur ma chaîne AndroidLabTest …

Sur ma chaîne Youtubehttps://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