Domanda

Innanzitutto vorrei chiarire che ho già sottoposto la domanda SO relativa a "Android - TAbhost".

Ho cercato su Google "Android Tabhost" ma non sono riuscito a trovare la soluzione.

Il mio problema è:

Se hai <3 schede, va bene.ma Supporse se abbiamo 4 schede con titolo indicatore come TabHost1, TabHost2, TabHost3, TabHost4).Ma questo titolo in Tab non si adatta alla tab.COSÌ esiste un modo per adattare il testo del titolo (ad es.indicatore) all'interno della scheda ??

È stato utile?

Soluzione

Pensavo che l'origine del nostro problema fosse da qualche parte nel codice del framework.E infatti ho trovato alcuni indizi:

Innanzitutto, se guardi all'interno del file TabWidget codice, vedrai che l'etichetta che hai impostato setIndicator viene passato a una classe interna chiamata LabelIndicatorStrategy che si occuperà di gonfiare la vista associata alla parte superiore della scheda.Questa inflazione viene eseguita utilizzando un file xml tab_indicatore.xml.Questo layout è basato su a RelativeLayout contenente un ImageView e un TextView.E se guardi le proprietà di textview, vedrai che si riferisce a uno stile in Android stili.xml.E qui finalmente, ti rendi conto che abbiamo QUELLO:

<item name="ellipsize">marquee</item>
<item name="singleLine">true</item>

Quindi, ora, 2 opzioni:
Per prima cosa, sostituisci lo stile creando il tuo stile personale, che secondo me sarebbe il modo davvero indolore, quindi modifica queste proprietà in qualcosa che si adatta meglio a te.Anche se il risultato potrebbe non essere molto bello.ciò richiederà alcuni test.
Oppure indossa i guanti e copia il codice dalla classe TabWidget, perché un altro problema qui è che la classe interna che ho menzionato è...PRIVATO quindi nessuna eredità possibile se non sbaglio...Quindi penso che sia molto più doloroso rispetto a styles.xml.Spero che questo ti ispiri, tienimi aggiornato su ciò che ottieni, per favore.Sono ancora interessato.

Altri suggerimenti

ho risolto il problema sopra diminuendo la dimensione del carattere, controllare il sottostante Codice di Style.xml :

<resources>

    <style name="MyTheme" parent="@android:style/Theme.Light">
        <item name="android:tabWidgetStyle">@style/LightTabWidget</item>
    </style>

    <style name="LightTabWidget" parent="@android:style/Widget.TabWidget">
        <item name="android:textSize">12px</item>
        <item name="android:textColor">#1E90FF</item>
    </style>
</resources>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top