TabWidget white foreground color?

11,628

Solution 1

I was having a problem due to a bug in Android 1.6's light theme (tab indicator text is white). I was able to override the default theme as follows:

  1. I created a custom theme that inherited from the default theme:

styles.xml:

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

<style name="LightTabWidget" parent="@android:style/Widget.TabWidget">
    <!-- set textColor to red, so you can verify that it applied. -->
    <item name="android:textColor">#f00</item>
</style>

Then I just apply that theme to my application by adding android:theme="@style/MyTheme" to the <application /> element of my AndroidManifest.xml.

Solution 2

Check this answer of mine: Background in tab widget ignore scaling

You can also refer to the android.graphics.drawable package

In your code, you can set the background for your tabs like this:

tabHost.getTabWidget().getChildAt(0).setBackgroundResource(
            android.R.color.white);
Share:
11,628
Monstieur
Author by

Monstieur

Updated on June 05, 2022

Comments

  • Monstieur
    Monstieur almost 2 years

    I don't know what I did but for a period of time my TabWidget had white colored tabs which looked really nice. I never set a theme or background/foreground color in my project at all. The next time I compiled it it reverted back to the gray tabs. My application is using the default dark theme. Even if I set the application theme to light, the tabs are still gray. So obviously it was something else that changed the tabs' color. Anyone know how to do this?