选定选项卡下划线的TabLayout颜色

时间:2015-06-09 07:04:40

标签: android android-layout

如何更改新TabLayout上所选标签下划线的颜色? PagerTabStrip有方法setTabIndicatorColor(int color)TabLayout似乎没有这样的方法。

enter image description here

3 个答案:

答案 0 :(得分:159)

使用app:tabIndicatorColor

示例:

<android.support.design.widget.TabLayout
    android:id="@+id/tabs"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:tabIndicatorColor="@android:color/white" />

确保您拥有此namespacexmlns:app="http://schemas.android.com/apk/res-auto"

文档: https://developer.android.com/reference/android/support/design/widget/TabLayout.html#attr_android.support.design:tabIndicatorColor

答案 1 :(得分:4)

尝试从以下位置下载以下文件:

https://github.com/google/iosched/tree/master/android/src/main/java/com/google/samples/apps/iosched/ui/widget

SlidingTabLayout.java
SlidingTabStrip.java

尝试以这种方式设置标签指示器颜色:

slidingTabLayout.setCustomTabColorizer(new SlidingTabLayout.TabColorizer() {
     @Override
     public int getIndicatorColor(int position) {
        return getResources().getColor(R.color.color_name);
     }
});

答案 2 :(得分:1)

您可以使用setcustomTebColorizer 以下是示例

mSlidingTabLayout=(SlidingTabLayout)findViewById(R.id.sliding_tabs);
        mSlidingTabLayout.setCustomTabColorizer(new SlidingTabLayout.TabColorizer() {
            @Override
            public int getIndicatorColor(int position) {
                return Color.YELLOW;
            }

                @Override
                public int getDividerColor(int position) {
                    return 0;
                }
            });