改变TabHost / TabWidget的颜色

时间:2015-02-24 18:19:10

标签: java android colors android-tabhost tabwidget

我很难改变我的TabWidget的颜色。我已经查看了几个帖子并尝试了它们,但它们都没有为我工作。我试图将默认(蓝色)颜色场景更改为绿色。

Image of my app

我的xml代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
android:id="@+id/relativeLayout">

<TabHost
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/tabHost"
    android:layout_alignParentTop="true"

    android:layout_alignParentStart="true">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        >

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:tabStripEnabled="false">

        </TabWidget>

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">

            <LinearLayout
                android:id="@+id/tab1"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="vertical">

            </LinearLayout>

            <LinearLayout
                android:id="@+id/tab2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical">
                <FrameLayout
                    android:id="@+id/listFragment"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"/>
            </LinearLayout>

            <LinearLayout
                android:id="@+id/tab3"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="vertical">
            </LinearLayout>

        </FrameLayout>
    </LinearLayout>
</TabHost>

1 个答案:

答案 0 :(得分:0)

以编程方式更改选项卡颜色的方法是使用

for(int i=0;i<mTabHost.getTabWidget().getChildCount();i++)
{
    mTabHost.getTabWidget().getChildAt(i)
                           .setBackgroundColor(Color.parseColor("#00304E"));
}

要更改当前所选标签的颜色,

mTabHost.getTabWidget().getChildAt(mTabHost.getCurrentTab())
                       .setBackgroundColor(Color.parseColor("#008EE8"));