Upload
zakaria-bouazza
View
1.269
Download
0
Tags:
Embed Size (px)
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.
Citation preview
ACTION BAR
@ELZAKARIA
Assez du menu Button!
CONTACT
/PREEMPTIF
@ElZakaria
http://www.javailable.com
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
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
Etape 1: Créer un projet
• Donnez comme package : com.learning.tasklist
• Une Activité (Launcher) qui s’appelle MyActivity
(main.xml comme layout)
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
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>
Création du menu • Sous le dossier RES, créer un dossier
menu• A l’intérieur créer un fichier
main_actions.xml :
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); }
Résultat
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
…)
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); } }
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>
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"/>
• 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
Cacher l’actionBar• Vous pouvez cacher l’actionBar en
Runtime:
ActionBar actionBar = getActionBar();actionBar.hide();