Frage

Ich habe eine Anwendung, dass die Ziele die 1.5-Framework und verwendet das Standardlicht Thema. Wenn ein Tab-Widget mit diesem Thema verwendet, sind die Registerkarte Bilder kaum sichtbar, und die Registerkarte Beschriftungen sind ganz unmöglich zu erkennen, mit Ausnahme des derzeit aktiven Tab.

In dem Standard dunkelen Thema dieser Tabs kommen ganz klar durch, aber dies ist nicht eine Lösung, die ich mit sehr glücklich sein würde. Gibt es eine einfache Einstellung ich einstellen, dass Sätze auf der Registerkarte Widget für bessere Sichtbarkeit im Licht Themen oder würde ich manuell mit Bildern und Textstile zu manipulieren haben?

War es hilfreich?

Lösung

Es ist nicht schön, aber Sie können dies in Ihrer Registerkarte Aktivität versuchen.

// light theme support
final TabHost tabHost = getTabHost();
tabHost.setBackgroundColor(Color.WHITE);
tabHost.getTabWidget().setBackgroundColor(Color.BLACK);

// hack to set font size
LinearLayout ll = (LinearLayout) tabHost.getChildAt(0);
TabWidget tw = (TabWidget) ll.getChildAt(0);

// first tab
RelativeLayout rllf = (RelativeLayout) tw.getChildAt(0);
lf = (TextView) rllf.getChildAt(1);
lf.setTextSize(21);
lf.setPadding(0, 0, 0, 6);

// second tab
RelativeLayout rlrf = (RelativeLayout) tw.getChildAt(1);
rf = (TextView) rlrf.getChildAt(1);
rf.setTextSize(21);
rf.setPadding(0, 0, 0, 6);

/res/values/colors.xml sollte

<resources>
    <drawable name="black">#ff000000</drawable>
    <drawable name="white">#ffffffff</drawable>
</resources>

sollte AndroidManiest.xml haben

<application android:theme="@android:style/Theme.Light">

Wenn Sie etwas verrückter machen wollen, versuchen Sie http: // ezmobile.wordpress.com/2009/02/02/customized-android-tabs/

Andere Tipps

Das ist ein Fehler; können Sie es in der der issue tracker melden?

AFAIK, Ihre Problemumgehung der Anpassung der Text- und Bildarten Töne rechts.

Es ist auch bemerkenswert, dass der Tab-Widget in 2.0 kein Licht Stil zu haben scheint.

Durch die Verwendung des hierarchyviewer Tool, das ich die Android-ID für die Textview in dem Registerkarte gefunden. Eine bessere Möglichkeit, die Texteigenschaften (einschließlich Farbe) zu ändern, ist durch den folgenden ...

tun
TabWidget tw = (TabWidget)tabHost.findViewById(android.R.id.tabs);
View tabView = tw.getChildTabViewAt(0);
TextView tv = (TextView)tabView.findViewById(android.R.id.title);
tv.setTextSize(20);

Eine sehr einfache Art und Weise der Farbe / Kontrast Problem im Layout zu lösen:

<TabWidget
   android:id="@android:id/tabs"
   android:background="#FF000000"
   android:padding="2dp"

Damit wird der Hintergrund des TabWidget auf Schwarz und fügt ein wenig Polsterung, so dass Sie im Gegensatz zu den Registerkarten vor dem schwarzen Hintergrund haben. Es ist nicht perfekt, aber funktioniert in 1.5, 2.2, hellen und dunklen Thema.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top