/ / Tab Host Altezza in Android - Android

Altezza Tab Host in Android - Android

    for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) {

Log.v("","tabhost...");
Log.v("","tabHost.getTabWidget().getChildAt(i).getLayoutParams() " +tabHost.getTabWidget().getChildAt(i));
RelativeLayout relativeLayout = (RelativeLayout)tabHost.getTabWidget().getChildAt(i);
relativeLayout.getChildCount();
Log.v("","count  "+relativeLayout.getChildCount()+"   relativeLayout.getChildAt(i) "+relativeLayout.getChildAt(i));
TextView tabhostText = (TextView) relativeLayout.getChildAt(1);

tabhostText.setTextSize(20.0f);
tabHost.getTabWidget().getChildAt(i).getLayoutParams().height = 30;

}

Nel codice sopra tutto funziona bene, ad es., sono in grado di vedere il testo nella scheda. Ma non sono in grado di vedere il testo nel dispositivo. solo una parte del testo è visibile. per favore qualsiasi organismo può trovare qualche soluzione.

Grazie in anticipo..

risposte:

1 per risposta № 1

So che la tua domanda ora ha 10 mesi, mail motivo per cui solo una parte del testo è visibile è perché si imposta l'altezza a solo 30. L'impostazione predefinita sul telefono è probabilmente 96 pixel (o forse 64 se il telefono ha una risoluzione inferiore).

Se vuoi rendere il tuo codice più universale, tuè possibile ottenere prima l'altezza delle schede, quindi impostare l'altezza di ciascuna scheda su una percentuale dell'altezza originale. Nell'esempio seguente ho impostato l'altezza delle schede sull'80% dell'altezza originale .:

    double height = tabHost.getTabWidget().getChildAt(0).getLayoutParams().height;

for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) {

RelativeLayout relativeLayout = (RelativeLayout)tabHost.getTabWidget().getChildAt(i);
TextView tabhostText = (TextView) relativeLayout.getChildAt(1);

tabhostText.setTextSize(20.0f);
tabHost.getTabWidget().getChildAt(i).getLayoutParams().height =  (int) (0.8 * height);

}

post scriptum Potresti voler esprimere meglio la tua domanda la prossima volta. Penso di capire quello che chiedi, ma solo perché sto lavorando sulla stessa identica cosa. Prova a formulare la tua domanda in un normale modulo di domanda (ad esempio terminando con un punto interrogativo).


1 per risposta № 2

Ho trovato una soluzione.

View v = getLayoutInflater().inflate(R.layout.tab_header, null);
tabSpec.setIndicator(v);

Basta usare il layout personalizzato per le schede.