8
votes

Comment changer de style d'onglet dans Android?

J'aimerais que mes onglets Android pour avoir l'air plat et simple comme ceux de l'application Twitter officielle. Comment puis-je remplacer le thème par défaut (Light) et modifier les images d'arrière-plan des onglets à l'aide des définitions de style / thème?


1 commentaires

La solution la plus élégante que j'ai vue jusqu'à présent est la suivante: Stackoverflow.com/Questtions/3078081/...


3 Réponses :


16
votes

Vous pouvez ajuster les onglets via le code - Voici un extrait de ma candidature, mais vous pouvez également attribuer directement des thèmes à la place de l'image d'arrière-plan. (Je n'ai pas encore utilisé de manière via des attributs XML, je ne sais pas si cela est disponible aussi bien).

private void initTabs() {
    tabs = (TabHost) findViewById(R.id.tabhost);
    tabs.setup();
    tabs.setBackgroundResource(R.drawable.bg_midgray);

   TabHost.TabSpec spec;

   // Location info
   txtTabInfo = new TextView(this);
   txtTabInfo.setText("INFO");
   txtTabInfo.setPadding(0, 5, 0, 0);
   txtTabInfo.setTextSize(11);

   txtTabInfo.setBackgroundResource(R.drawable.bg_tab_left_active_right_inactive);
   txtTabInfo.setTextColor(Color.DKGRAY);
   txtTabInfo.setGravity(Gravity.CENTER_HORIZONTAL);
   txtTabInfo.setHeight(39);
   spec = tabs.newTabSpec("tabInfo");
   spec.setContent(R.id.tabInfo);
   spec.setIndicator(txtTabInfo);
   tabs.addTab(spec);
   ...
}


1 commentaires

Spec.Setindicator (TXTTABINFO); Ceci n'est pas autorisé. Compilateur donne une erreur à cette ligne.



0
votes

Vous pouvez également le faire via XML et créer / définir un thème global pour tous les onglets de votre application. Il y a plus d'informations sur la création de thèmes de widgets ici: http://developer.android.com /Guide/topics/ui/themes.html


0 commentaires

3
votes

J'ai utilisé la définition suivante de mon fichier digue, onglet_background.xml xxx

puis itérer sur les onglets pour les définir. xxx


0 commentaires