lundi 15 avril 2013

Des onglets sous Android

J'avais besoin de la gestion des onglets pour une application Android (sortie prévue dans la semaine). Le problème c'est que le sdk ne permet la gestion native des onglets qu'à partir d'Ice Cream Sandwich (api level 14). Au vu de la répartition actuel des versions d'Android, il n'est pas judicieux d'exclure Gingerbread.
Heureusement, il y a toujours des développeurs pour remédier au problème et j'ai donc utiliser ActionBarSherlock. Il s'agit d'une bibliothèque java à ajouter à votre projet.
Pour l'utiliser rien de plus simple, il suffit de faire étendre votre classe principale (MainActivity).


public class MainActivity extends SherlockActivity 
implements ActionBar.TabListener

Ensuite vous pouvez définir le layout de votre activité comme dans l'exemple ci-après.
setContentView(R.layout.tab_navigation);
getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
//creation des 3 tabs
ActionBar.Tab tab1 = getSupportActionBar().newTab();
tab1.setText(R.string.TabAlbums);
tab1.setTabListener(this);
getSupportActionBar().addTab(tab1);

ActionBar.Tab tab2 = getSupportActionBar().newTab();
tab2.setText(R.string.TabChara);
tab2.setTabListener(this);
getSupportActionBar().addTab(tab2);

ActionBar.Tab tab3 = getSupportActionBar().newTab();
tab3.setText(R.string.TabMap);
tab3.setTabListener(this);
getSupportActionBar().addTab(tab3);

Ici je créé 3 onglets. Lorsque vous voulez savoir quel onglet a été choisit, vous pouvez utiliser la méthode tab.getPosition().
Merci @Aerilys pour m'avoir fait découvrir cette bibliothèque.

Aucun commentaire:

Enregistrer un commentaire