2010-11-11 42 views
2

Je voudrais ajouter un espacement supplémentaire sur les côtés et entre les onglets sur le widget onglet, mais le remplissage et les marges ne semblent pas faire la moindre différence. J'ai aussi joué avec le réglage du diviseur, des bandes à onglet gauche et droite, qui ne semblaient pas faire de différence non plus.Comment ajouter de l'espacement au widget de tabulation dans Android?

Essayer de faire les onglets ressemblent à ceci: alt text

Répondre

1

Vous devez régler le diviseur entre les widgets Tab. Jetez un oeil à dividers between TabWidgets

+0

Oui, je * suis * Réglage du diviseur dans le mise en page XML, mais cela ne semble pas fonctionner. Je vais essayer de le faire par programmation comme votre lien le suggère. Merci. – Eno

1

L'application de calendrier Google IO a des onglets qui ressemblent à la vôtre. Je voudrais vérifier que l'application et parcourir leur code source: http://code.google.com/p/iosched/ (la capture d'écran du milieu a les onglets)

+0

Bon appel - c'est une application soignée et la lecture de la source est très instructive, merci pour le pointeur. – Eno

5

Vous pouvez utiliser ce code pour faire

TabWidget widget = getTabWidget(); 
final int tabChildrenCount = widget.getChildCount(); 
LinearLayout.LayoutParams currentLayout; 
for (int i = 0; i < tabChildrenCount; i++) { 
    currentLayout = (LinearLayout.LayoutParams) widget.getChildAt(i).getLayoutParams(); 
    if (i == 0) { 
     currentLayout.setMargins(10, 0, 5, 0); 
    } else if (i == (tabChildrenCount - 1)) { 
     currentLayout.setMargins(5, 0, 10, 0); 
    } else { 
     currentLayout.setMargins(5, 0, 5, 0); 
    } 
    currentLayout.height = 40; 
} 
widget.requestLayout();