2010-03-23 9 views
8

Est-il possible de définir la hauteur de TabWidget et de faire ajuster les étiquettes d'onglet?TabWidget Height

Si la hauteur de TabWidget est trop petite, les étiquettes sont masquées.

<TabHost xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/tabhost" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
     <LinearLayout 
      android:orientation="vertical" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:padding="5dp"> 
      <TabWidget 
       android:id="@android:id/tabs" 
       android:layout_width="fill_parent" 
       android:layout_height="30px" /> 
      <FrameLayout 
       android:id="@android:id/tabcontent" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:padding="5dp" /> 
    </LinearLayout> 
</TabHost> 

Merci

Répondre

9

Android 1.6 a ajouté une méthode setIndicator() sur TabSpec qui accepte un View. Je ne l'ai pas encore essayé, mais je crois comprendre que cela vous donnera un meilleur contrôle sur les onglets.

+0

Cela devrait faire l'affaire. Merci. – Steve

0

La hauteur de la tabulation dépend du travail de l'image. Vous devez la personnaliser à partir de là uniquement ou personnaliser une autre vue pour qu'elle ressemble à cela.

2

je vois ... quand u AddTab, nous utilisons habituellement setIndicator comme ceci:

QTabHost.addTab(QTabHost.newTabSpec("tab_test2").setIndicator("TAB 2").bla bla.... 

u peut utiliser TextView pour remplacer "TAB 2", est devenu comme ceci:

tview=new TextView(this); tview.setText("Title here"); QTabHost.addTab(QTabHost.newTabSpec("tab_test2").setIndicator(tview).bla bla.... 

tous Vous avez juste besoin de modifier le textview. Merci ... ^^

16

Le code suivant permet de régler la hauteur sur les onglets:

for (int i = 0; i < tabHost.getTabWidget().getTabCount(); i++) { 
    tabHost.getTabWidget().getChildAt(i).getLayoutParams().height = 33; 
} 

Cependant, cela va créer un défaut sur la couleur de fond de l'onglet non sélectionné. Je ne sais pas encore comment résoudre ça. Certains forums suggèrent qu'il n'est pas résolu sans faire un widget onglet personnalisé.

+1

Cela fonctionne très bien. Je ne le vois pas créer de défaut. –

+0

a travaillé pour moi aussi:> – brux