6 – ActionBar – gérer la barre d’action sous Android

La barre d’action Android est désormais une réalité, et ce depuis la version 11 (Honeycomb, version 3.0).

La version d’Android utilisée ici sera la 4.4, KitKat.

barre action

 

 

 

 

Celle-ci est comparable à la barre de navigation sous iOS et disponible avec le contrôleur de navigation.

Comment une application utilise une barre d’action ?
Comment chaîner les activités ?
Comment activité le bouton retour ?

Je vais tenter d’apporter une réponse crédible dans cet article technique.

1. Créez un projet Android 4.4
2. Créez une seconde activité et organiser la hiérarchie

 

1. Créez un projet Android 4.4

Nous ne décrirons pas ici comment créer un projet avec ADT, c’est relativement simple avec l’assistant Eclipse (New Android Application Project).

 

2. Créez une seconde activité et organiser la hiérarchie

création activité 2 

Création activité 2

création activity 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ci-dessus une activité 2 est crée, on remarquera que lors de la création de l’activité on précise dans le champ hierarchical Parent, l’activité qui précède celle-ci.

Voyons ci-dessous le fichier AndroidManifest.xml

<activity
   android:name="com.ltm.ltmactionbaractivity.Activity2"
   android:label="@string/title_activity_activity2"
   android:parentActivityName="com.ltm.ltmactionbaractivity.MainActivity" >
      <meta-data
         android:name="android.support.PARENT_ACTIVITY"
         android:value="com.ltm.ltmactionbaractivity.MainActivity" />
</activity>

Ci-dessus on remarque que le champ android:parentActivityName= »com.ltm.ltmactionbaractivity.MainActivity » a été ajouté, ainsi que l’élément xml meta-data

Posons un bouton dans l’activité MainActivity pour lancer la seconde activité :

Button b1 = (Button)findViewById(R.id.button1);
b1.setOnClickListener( new OnClickListener() {
   @Override
   public void onClick(View v) {
      Intent i = new Intent(MainActivity.this, Activity2.class);
      startActivity(i);
   }
});

Ci-dessus ce bouton va instancier et lancer la seconde activité.

Le générateur de code Eclipse a ajouté le code java suivant dans la seconde activité qui va permettre d’organiser la navigation et revenir de l’activité 2 vers la MainActivity avec le bouton back situé dans la barre d’action.

@Override
public boolean onOptionsItemSelected(MenuItem item) {
   switch (item.getItemId()) {
      case android.R.id.home:
         // La ligne de code ci-dessous permet d'activité le bouton retour
         NavUtils.navigateUpFromSameTask(this);
         return true;
    }
    return super.onOptionsItemSelected(item);
}

Dans l’activité 2 une méthode a été également ajoutée par le générateur : setupActionBar() permet de mettre en oeuvre la barre d’action.

protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_activity2);
   // Ci-dessous la fonction qui actionne la barre d'action (code généré)
   setupActionBar();
}

private void setupActionBar() {
   getActionBar().setDisplayHomeAsUpEnabled(true);
}

La barre d’action et sa touche retour est désormais active (ici la seconde activité).

touche retour

 

 

 

 

 

Catégories
0 Comments
0 Pings & Trackbacks

Laisser un commentaire