2010-03-23 16 views
8

È possibile impostare l'altezza di TabWidget e le etichette delle schede devono essere regolate?TabWidget Height

Se si imposta l'altezza di TabWidget troppo piccola, le etichette sono nascoste alla vista.

<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> 

Grazie

risposta

9

Android 1.6 ha aggiunto un metodo setIndicator() su TabSpec che accetta un View. Non ho ancora provato, ma la mia comprensione è che ti darà un maggiore controllo sulle schede.

+0

Questo dovrebbe fare il lavoro. Grazie. – Steve

0

L'altezza della scheda dipende dal tipo di lavoro del frame. È necessario personalizzarla solo da lì o personalizzare qualche altra vista per farlo apparire simile.

2

Capisco ... quando u addTab, di solito usiamo setIndicator così:

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

u possibile utilizzare TextView per sostituire "TAB 2", è diventato in questo modo:

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

tutto hai bisogno è solo modificare la visualizzazione del testo. Grazie ... ^^

16

Il codice seguente regola l'altezza sulle schede:

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

Tuttavia, questo creerà un difetto sul colore della scheda non-selezionata di fondo. Non so ancora come risolverlo. Alcuni forum suggeriscono che non è risolvibile senza creare un widget di schede personalizzate.

+1

Funziona bene. Non lo vedo creare alcun difetto. –

+0

ha funzionato anche per me:> – brux