Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TabWidget white foreground color?

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?

like image 658
Monstieur Avatar asked Mar 30 '10 06:03

Monstieur


2 Answers

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.

like image 62
Steve Pomeroy Avatar answered Oct 04 '22 00:10

Steve Pomeroy


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);
like image 23
Praveen Avatar answered Oct 04 '22 01:10

Praveen