通过编程方式更改标签颜色后设置标签指示器颜色

时间:2019-07-14 18:12:46

标签: java android view colors android-tablayout

在我的应用中,我使用以下代码根据用户所在的当前标签来更改TabsTabLayout的颜色:

ViewGroup tabStrip = (ViewGroup) tabs.getChildAt(0);
for (int i = 1; i < 5; i++) {
    View tabView = tabStrip.getChildAt(i);
    ViewCompat.setBackground(tabView, getDrawable(R.drawable.tab_back));
}

现在,以编程方式更改标签的颜色后,我想使用以下代码将选定的标签指示器颜色设置为黑色:

tabs.setSelectedTabIndicatorColor(Color.BLACK);

问题是,当我使用ViewCompat以编程方式更改Tab颜色时,以上代码行不起作用。如果仅使用上述代码行而不更改选项卡的颜色,那么它可以工作,但是当我将背景设置为可绘制对象时,它就没有作用。

结果是所选Tab没有标签指示符。

有人知道为什么setSelectedTabIndicatorColor()方法仅在不以编程方式设置背景时起作用吗?如何同时实现更改Tab颜色和IndicatorColor的效果吗?< / strong>

0 个答案:

没有答案