どうすればそれができますか?出来ますか?
:
tabhost.getTabWidget().getChildAt(i) . setTextColor または何か他の..?
TabHost.TabSpec.setIndicator(android.view.View view)TextView
を使用して、必要に応じて構成済み(色付き)を渡すことができると思います。
しかし、私はあなたの投稿をもう一度読み直しました-おそらくあなたは私がタブラベルについて話している間にタブコンテンツの色を変更する方法を意味します...この場合、申し訳ありませんが、この答えを無視してください。
更新:
レイアウト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>
タブのテキストの色を変更するには、ビュー、つまりタブのタイトルとして設定されている TextView を取得する必要があり、次のように変更できます。
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(.....);
}
お役に立てれば....
ColorStateListsを試してください。幸運を。