Frage

Lassen Sie mich zunächst klarstellen, dass ich bereits die SO Frage im Zusammenhang bezeichnet. „Android - TabHost“

Ich habe über „Android TabHost“ getan googeln aber nicht die Lösung zu finden.

Mein Problem ist:

Wenn hat <3 Registerkarten dann ist es in Ordnung. aber Supporse wenn wir 4 Laschen sind mit mit Indikatoren Titel als TabHost1, TabHost2, TabHost3, TabHost4). Aber dieser Titel in Tab bekommt nicht mit Tab ausgestattet. so gibt es eine Möglichkeit, den Titel Text (d Indikatoren) in der Registerkarte ??

passen
War es hilfreich?

Lösung

dachte ich, die Quelle unserer Ausgabe irgendwo im Code der Rahmen war. Und sicher genug, fand ich einige Hinweise:

Erstens, wenn man sich innerhalb der TabWidget Code , werden Sie den Blick auf das Aufblasen assoziiert die sehen, dass zu einer inneren Klasse namens setIndicator geben wird das Label, das Sie in LabelIndicatorStrategy gesetzt, die dafür sorgen wird Top-Teil des Registerkarte. Diese Inflation erfolgt eine XML-Datei mit tab_indicator.xml . Dieses Layout basiert auf einem RelativeLayout eine ImageView und TextView enthält. Und wenn man sich die Eigenschaften der Textview anschauen, werden Sie sehen, dass es zu einem Stil bezieht sich in android styles.xml . Und hier endlich merkt man, dass wir haben, dass:

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

So, nun 2 Möglichkeiten:
Erstens, außer Kraft setzen den Stil von Ihren eigenen Stil zu schaffen, die meiner Meinung nach die wirklich schmerzlos und dann diese Eigenschaften, um etwas zu ändern, dass zu Ihnen passt besser sein würde. Obwohl das Ergebnis möglicherweise nicht sehr schön. dies wird einige Tests erfordern.
Oder setzen Sie auf Ihre Handschuhe und kopieren Sie den Code aus dem TabWidget Klasse, weil ein anderes Problem hier ist, dass die innere Klasse I erwähnt ist ... PRIVATE so, keine Vererbung möglich ist, wenn ich mich nicht irre ... Ich denke also, viel viel mehr Schmerz als der Weg des styles.xml. Hoffe, das Sie begeistern wird, halten Sie mich über gepostet, was Sie sich bitte. Ich bin immer noch interessiert.

Andere Tipps

i das oben genannte Problem gelöst, indem die Größe der Schriftart abnehmen, überprüfen Sie die folgenden Code von 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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top