Action bar sous Android

16
ACTION BAR @ELZAKARIA Assez du menu Button!

description

Petit aperçu de l'utilisation de l'Action Bar disponible depuis la version 3.0 d'android, et comme le menu button est voué à disparaître, il est vivement conseillé de commencer à l'utiliser.

Transcript of Action bar sous Android

Page 1: Action bar sous Android

ACTION BAR

@ELZAKARIA

Assez du menu Button!

Page 2: Action bar sous Android

CONTACT

/PREEMPTIF

@ElZakaria

http://www.javailable.com

Page 3: Action bar sous Android

Disponibilité?Disponible depuisLa version 3.0 d’androidHONEYCOMB (API 11)

Vous pouvez néanmoins supporter les versions 2.1Ou plus, consulter le site android developershttps://developer.android.com/training/basics/actionbar/setting-up.html

Page 4: Action bar sous Android

Ou trouver les icônes?

• Téléchargez le pack Action bar icon depuis:

http://developer.android.com/design/downloads/index.html#action-bar-icon-pack

Vous y trouverez les icônes pour les thèmes Holo Light et Holo Dark

Page 5: Action bar sous Android

Etape 1: Créer un projet

• Donnez comme package : com.learning.tasklist

• Une Activité (Launcher) qui s’appelle MyActivity

(main.xml comme layout)

Page 6: Action bar sous Android

Ajouter les icônes• Prenez les icônes (hdpi) des dossiers

suivant et copiez les dans drawable-hdpi:=> 11_hardware_phone

=> 01_core_accept => 01_core_overflow => 01_core_remove => 13_extra_actions_settings

Choisissez Selon le thème que vous utilisezHolo light => dossier holo_light

Page 7: Action bar sous Android

Chaines de valeurs• Dans Strings.xml Ajouter ce qui suit:<?xml version="1.0" encoding="utf-8"?><resources> <string name="app_name">task_list_final</string> <string name="action_phone">Appeler</string> <string name="action_accept">Accepter</string> <string name="action_overflow">Plus d\'options</string> <string name="action_remove">Fermer</string> <string name="action_settings">Settings</string></resources>

Page 8: Action bar sous Android

Création du menu • Sous le dossier RES, créer un dossier

menu• A l’intérieur créer un fichier

main_actions.xml :

Page 9: Action bar sous Android

Activité• Dans MainActivity, redéfinissez la

méthode onCreateOptionsMenu @Override

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); }

@Override public boolean onCreateOptionsMenu(Menu menu) {

//inflate the menu to use in the action bar MenuInflater menuInflater = getMenuInflater(); menuInflater.inflate(R.menu.main_actions,menu); return super.onCreateOptionsMenu(menu); }

Page 10: Action bar sous Android

Résultat

Page 11: Action bar sous Android

Configuration• Vous pouvez :

* Montrer le texte à la place des icônes

* showAsAction=‘’never’’ et les actions seront dont le menu (Menu button)

voir( never, ifRoom, withText

…)

Page 12: Action bar sous Android

Gérer l’événement Click

@Override public boolean onOptionsItemSelected(MenuItem item) {

switch(item.getItemId()) { case R.id.action_phone: Toast.makeText(this,"Phone action", Toast.LENGTH_SHORT).show(); //case R.id.ac........... default: return super.onOptionsItemSelected(item); } }

Page 13: Action bar sous Android

Split ActionBar• Modifiez maintenant votre

AndroidManifest, et votre activité :

<manifest ...> <activity uiOptions="splitActionBarWhenNarrow" ... > <meta-data android:name="android.support.UI_OPTIONS" android:value="splitActionBarWhenNarrow" /></activity> </manifest>

Page 14: Action bar sous Android

Navigation entre activités

• Créer une nouvelle activité ActiviteFils avec le même layout main.xml et le même code java, puis ajouter dans AndroidManifest:

<activity android:name=".FilsActivite" android:parentActivityName="MyActivity"/>

Page 15: Action bar sous Android

• Dans le onOptionsItemSelected de la première activité, modifiez le code:

case R.id.action_phone: Toast.makeText(this,"Phone action", Toast.LENGTH_SHORT).show();

Intent intent = new Intent(this, FilsActivite.class); startActivity(intent);

Return true;//Case R. …..

MainActivity.java FilsActivite.java

BackStack

Page 16: Action bar sous Android

Cacher l’actionBar• Vous pouvez cacher l’actionBar en

Runtime:

ActionBar actionBar = getActionBar();actionBar.hide();