Android TabWidget im Licht Thema

Ich habe eine Anwendung, die auf die 1.5 Framework und verwendet die Standard-Licht Thema. Bei der Verwendung eines Tab-Widgets mit diesem Thema sind die Tab-Bilder kaum sichtbar, und die Tab-Beschriftungen sind unmöglich zu erkennen, mit Ausnahme der aktuell aktiven Registerkarte.

Im Standard-Dunkelthema kommen diese Tabs ganz klar durch, aber das ist keine Lösung, mit der ich mich sehr freuen würde. Gibt es eine einfache Einstellung, die ich einstellen kann, die das Tab-Widget für eine bessere Sichtbarkeit in leichten Themen einrichtet, oder müsste ich manuell Bilder und Textstile manipulieren?

  • Auswahl einer Bilddatei aus der Galerie mit FileProvider
  • Fragment von View Pager versteckt sich hinter Tab Bar
  • So erstellen Sie eine Overlay-Ansicht innerhalb einer Aktivität
  • Wie kann ich die Position der Ansicht in Android dynamisch einstellen?
  • Android 4.3 mit Genymotion uvesafb: nicht ausgeführt / sbin / v86d
  • Fokus-Problem in ListView EditText-Anzeige in Dialog in Android
  • Verwenden Sie Kotlin in einem Bibliotheksmodul, ohne es im App-Modul zu verwenden
  • Aktivieren des Kamerablitzes während der Aufnahme von Video
  • Was ist "android: allowBackup"?
  • Phonegap bauen nicht mit splashscreen
  • Stoppen Sie das Scrollen in einer Listenansicht
  • Um layout_marginLeft in einer Schaltflächenart zu verwenden, die als Thema angewendet wird?
  • 4 Solutions collect form web for “Android TabWidget im Licht Thema”

    Es ist nicht schön, aber du kannst das in deiner Tab-Aktivität ausprobieren.

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

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

    AndroidManiest.xml sollte haben

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

    Wenn du etwas verrückter machen willst, versuch http://ezmobile.wordpress.com/2009/02/02/customized-android-tabs/

    Das ist ein Fehler; Kannst du es in dem thema tracker melden?

    AFAIK, Ihr Workaround der Anpassung der Text- und Bildstile klingt richtig.

    Es ist auch bemerkenswert, dass das Tab-Widget in 2.0 scheint nicht, einen leichten Stil zu haben.

    Mit dem hierarchyviewer-Tool habe ich die android-ID für die Textansicht auf der Registerkarte gefunden. Ein besserer Weg, um die Text-Eigenschaften (einschließlich Farbe) zu ändern, ist, indem Sie die folgenden …

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

    Ein ganz einfacher Weg, um das Farb- / Kontrast-Problem im Layout zu lösen:

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

    Dies setzt den Hintergrund des TabWidget auf schwarz und fügt ein wenig Polsterung hinzu, so dass du Kontrast zu den Tabs gegen den schwarzen Hintergrund hast. Sein nicht perfekt, aber arbeitet in 1.5, 2.2, helles und dunkles Thema.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.