Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法更改TableLayout上的活动文本颜色_Android - Fatal编程技术网

Android 无法更改TableLayout上的活动文本颜色

Android 无法更改TableLayout上的活动文本颜色,android,Android,我正在尝试在android.support.design.widget.TabLayout中设置选项卡的样式。我无法更改所选选项卡的颜色,它在我的应用程序主题中始终设置为textColorPrimary,但我需要它们是不同的颜色 我已尝试在styles.xml中设置适用于TabLayout的值,但我了解到,您不能以这种方式更改活动选项卡文本颜色,尽管我可以更改未选择的选项卡文本颜色。我也尝试过: tabLayout.setTabTextColors(getResources().getColor

我正在尝试在android.support.design.widget.TabLayout中设置选项卡的样式。我无法更改所选选项卡的颜色,它在我的应用程序主题中始终设置为textColorPrimary,但我需要它们是不同的颜色

我已尝试在styles.xml中设置适用于TabLayout的值,但我了解到,您不能以这种方式更改活动选项卡文本颜色,尽管我可以更改未选择的选项卡文本颜色。我也尝试过:

tabLayout.setTabTextColors(getResources().getColorStateList(R.color.selector));

是否可以覆盖所选选项卡文本颜色?

编辑:使其正常工作

tabLayout.setTabTextColors(getResources().getColorStateList(R.color.selector));

需要在将其连接到查看页面之前调用它

实际上,您可以通过定义自定义
TabLayout
样式自定义活动选项卡文本颜色。查看
选项卡SelectedTextColor
参数。以下是自定义
tabSelectedTextColor
tabIndicatorColor
tabtextfearance
(文本大小/颜色等)的示例:


风格:

<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>

@颜色/选项卡\u文本\u已选定
@颜色/标签指示器
@样式/自定义选项卡样式
14便士
@颜色/制表符文本
假的
...

在xml中添加以下代码:

app:tabSelectedTextColor="@color/app_color"

这在支持设计库的v23.0.1中对您有效吗?我试图在TabLayout xml中使用android:textColor=“@color/tab\u text\u color\u selector”,但在设计v23.1.1中必须使用您的方式。不知道为什么会这样!:-/我会继续看我的代码,但这确实有效。FWIW:getResources(…)未被弃用。注意。。必须是
风格
,不适用于
android:theme
此答案正是您想要的
<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>
app:tabSelectedTextColor="@color/app_color"