我正在尝试在android.support.design.widget.TabLayout中设置标签样式我无法更改选定的标签颜色,它总是设置为我的应用主题中的textColorPrimary,但我需要它们不同颜色。
我已经尝试在styles.xml中设置适用于TabLayout的值,但我读到你不能以这种方式更改活动标签文本颜色,尽管我可以更改未选择的标签文本颜色。我也尝试过:
tabLayout.setTabTextColors(getResources().getColorStateList(R.color.selector));
和
tabLayout.setTabTextColors(R.color.Green, R.color.Blue);
是否可以覆盖选定的标签文字颜色?
答案 0 :(得分:14)
编辑:让它运转,
tabLayout.setTabTextColors(getResources().getColorStateList(R.color.selector));
在附加到视图寻呼机之前需要调用
答案 1 :(得分:12)
实际上,您可以通过定义自定义TabLayout
样式来自定义活动标签文本颜色。查看tabSelectedTextColor
参数。以下是自定义tabSelectedTextColor
,tabIndicatorColor
,tabTextAppearance
(文字大小/颜色等)的示例:
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/CustomTabLayoutStyle"/>
样式:
<style name="CustomTabLayoutStyle" parent="Base.Widget.Design.TabLayout">
<item name="tabSelectedTextColor">@color/tab_text_selected</item>
<item name="tabIndicatorColor">@color/tab_indicator</item>
<item name="tabTextAppearance">@style/CustomTabTexStyle</item>
</style>
<style name="CustomTabTexStyle" parent="TextAppearance.Design.Tab">
<item name="android:textSize">14sp</item>
<item name="android:textColor">@color/tab_text</item>
<item name="textAllCaps">false</item>
...
</style>
答案 2 :(得分:8)
将以下代码添加到xml:
app:tabSelectedTextColor="@color/app_color"