2011-03-01 110 views

回答

21

您可以使用下面的代碼

TabHost tabHost = getTabHost(); 
for(int i=0;i<tabhost.getTabWidget().getChildCount();i++) 
     { 
      TextView tv = (TextView) tabhost.getTabWidget().getChildAt(i).findViewById(android.R.id.title); //Unselected Tabs 
      tv.setTextColor(Color.parseColor("#ffffff")); 
     } 
     TextView tv = (TextView) tabhost.getCurrentTabView().findViewById(android.R.id.title); //for Selected Tab 
     tv.setTextColor(Color.parseColor("#000000")) 
+0

ColorStateList是更好的方式 – aelam 2013-08-05 02:12:03

+0

謝謝alot ..它的工作 – jyomin 2014-01-03 04:25:49

34

我使用ColorStateList,發現它更優雅。這裏有一個例子:

tab_text.xml:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_selected="true" android:color="@color/tab_active" /> 
    <item android:state_selected="false" android:color="@color/tab_inactive" /> 
</selector> 

在你的TextView,只需設置文字顏色爲指向該文件與:

android:textColor="@color/tab_text" 
+0

這個解決方案比其他發佈的解決方案更清潔 – 2011-10-06 15:14:31

+0

它的工作,這個職位很簡單,狀態轉發和它保存我的時間,謝謝。 – Ravikumar11 2013-03-20 09:36:41