Top Banner
ACTION BAR @ELZAKARIA Assez du menu Button!
16

Action bar sous Android

May 26, 2015

Download

Education

Zakaria Bouazza

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.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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();