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.
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
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é).