如何更改android中的标签指标文本的颜色?

如何更改标签的文本指示器的颜色? 我可以改变图标使用select器标签引用的例子 。 但不能对文字颜色。 怎么样?

在您的自定义主题更改中进行设置

<item name="android:tabWidgetStyle">@android:style/Widget.TabWidget</item> 

 <style name="Widget.TabWidget"> <item name="android:textAppearance">@style/TextAppearance.Widget.TabWidget</item> <item name="android:ellipsize">marquee</item> <item name="android:singleLine">true</item> </style> <style name="TextAppearance.Widget.TabWidget"> <item name="android:textSize">14sp</item> <item name="android:textStyle">normal</item> <item name="android:textColor">@android:color/tab_indicator_text</item> </style> 

这是我在Fred Grott( http://knol.google.com/k/fred-grott/advance-tabs/ )上find的一个新的答案,稍微search一下。
这使您可以设置文本颜色的selector ,以便在select选项卡时使用不同的颜色。 如果您select的选项卡使用不同的背景颜色,这可能非常有用。 当然,你也可以简单地扔一个简单的颜色,而不是一个select器。

 final TextView tv = (TextView) tabWidget.getChildAt(i).findViewById(android.R.id.title); tv.setTextColor(this.getResources().getColorStateList(R.color.text_tab_indicator)); 

其中R.color.text_tab_indicator是位于res / drawable文件夹中的select器xml文件 。

换句话说,指标文本实际上是一个TextView ,它可以通过View对象获取,可以从TabWidget对象访问。
看看弗雷德的例子,更多的信息和上下文关于variables声明以及其他技巧。

丹尼C的答案是100%正确的。我只是想添加一些东西来做一个完整的答案与资源文件。

res / color文件下的text_tab_indicator

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

而这个text_tab_unselected&text_tab_selected将在colors / values文件夹下看起来像这样

 <resources> <color name="text_tab_selected">#ffffff</color> <color name="text_tab_unselected">#95ab45</color> 

之后,最后在标签类文件中添加Dannyy的答案

 final TextView tv = (TextView) tabWidget.getChildAt(i).findViewById(android.R.id.title); tv.setTextColor(this.getResources().getColorStateList(R.color.text_tab_indicator)); 

颜色的变化也可以不使用java – 这可能会更好。

我对text_tab_indicator进行了更改(通知textColor已更改为“color”):

 <?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/text_tab_selected" /> <item android:state_selected="false" android:color="@color/text_tab_unselected" /> </selector> 

将TabWidget的样式设置为指向xml代码中的特定样式:

 <TabWidget ... style="@style/TabText" /> 

在样式中声明位于/ res / color中的text_tab_indicator

 <style name="TabText"> <item name="android:textColor">@color/tab_text_color</item> </style> 

它像一个魅力(对我来说)。

干杯,兰德尔

尝试ColorStateLists 。 祝你好运。