开发者

Android change tabview's text color not backgroundcolor

开发者 https://www.devze.com 2023-01-29 06:20 出处:网络
How i can do tha开发者_C百科t? is it possible? : tabhost.getTabWidget().getChildAt(i) . setTextColor or something else..?I guess you could use TabHost.TabSpec.setIndicator(android.view.View view) p

How i can do tha开发者_C百科t? is it possible?

:

tabhost.getTabWidget().getChildAt(i) . setTextColor or something else..?


I guess you could use TabHost.TabSpec.setIndicator(android.view.View view) passing a TextView configured (colorized) according to your needs.

However I reread your post once again - probably you mean how to change the color of tab content, while I'm talking about tab label... If this is the case, I am sorry, please ignore this answer.

UPDATE:

It is most comfortable to do in your layout xml:

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <TextView 
                android:id="@+id/textview1"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" 
                android:text="this is a tab - RED"
                android:textColor="#FF0000" />
            <TextView 
                android:id="@+id/textview2"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" 
                android:text="this is another tab - GREEN"
                android:textColor="#00FF00" />
            <TextView 
                android:id="@+id/textview3"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" 
                android:text="this is a third tab - BLUE"
                android:textColor="#0000FF" />
        </FrameLayout>
    </LinearLayout>
</TabHost>


Try ColorStateLists. Good Luck.


To change the text color of tabs, you need to get the view i.e TextView which is set as title of tabs and you can change it like this:

TabHost tabhost = getTabHost();
for(int i=0;i<tabhost.getTabWidget().getChildCount();i++) 
{
    TextView tv = (TextView) tabhost.getTabWidget().getChildAt(i).findViewById(android.R.id.title);
    tv.setTextColor(.....);
} 

hope this helps....

0

精彩评论

暂无评论...
验证码 换一张
取 消