如何更改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 。 祝你好运。