Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
116 L’art du développement Android
Notez que les "indicateurs" des onglets peuvent, en fait, être eux-mêmes des vues, ce qui
permet de faire mieux qu’un simple label et une icône facultative.
Notez également que vous devez appeler la méthode setup() de l’objet TabHost avant de
configurer les objets TabSpec. Cet appel n’est pas nécessaire si votre activité dérive de la
classe de base TabActivity.
Voici, par exemple, le code Java permettant de faire fonctionner les onglets de la section
précédente :
package com.commonsware.android.fancy;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TabHost;
public class TabDemo extends Activity {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
TabHost tabs=(TabHost)findViewById(R.id.tabhost);
tabs.setup();
TabHost.TabSpec spec=tabs.newTabSpec("tag1");
spec.setContent(R.id.tab1);
spec.setIndicator("Horloge");
tabs.addTab(spec);
spec=tabs.newTabSpec("tag2");
spec.setContent(R.id.tab2);
spec.setIndicator("Bouton");
tabs.addTab(spec);
tabs.setCurrentTab(0);
}
}
On retrouve notre TabHost via un appel à la méthode findViewById(), puis l’on appelle
sa méthode setup().
Ensuite, on crée une instance de TabSpec via un appel à newTabSpec() auquel on passe
un marqueur dont le but est encore inconnu. On appelle les méthodes setContent() et
setIndicator() de cette instance, puis la méthode addTab() de l’objet TabHost pour lui
ajouter le TabSpec. Enfin, on choisit l’onglet qui s’affichera initialement, à l’aide de la
méthode setCurrentTab() (la valeur 0 désigne le premier onglet).
Les Figures 10.5 et 10.6 montrent ce qu’affiche cette application.
Livre Android.book Page 116 Dimanche, 8. novembre 2009 12:23 12
Précédent

- 131/391

Suivant