TabLayout颜色未选中的选项卡下划线

时间:2017-08-09 00:54:03

标签: android android-viewpager android-tablayout

enter image description here

在此图片中,在tablayout中,所选标签栏下划线颜色为紫色和文字。

我搜索未选中的tabbar,但找不到未选中的tabbar下划线。

我想在选择某个标签时更改颜色,更改未选中的标签栏下划线颜色。

如果你知道这件事,你能帮助我吗?

2 个答案:

答案 0 :(得分:6)

在drawable文件夹中创建一个xml文件

<强> custom_indicator.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
 <!-- UNSELECTED TAB STATE -->
<item android:state_selected="false" android:state_pressed="false">
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <!-- Bottom indicator color for the UNSELECTED tab state -->
        <item android:top="-5dp" android:left="-5dp" android:right="-5dp">
            <shape android:shape="rectangle">
                <stroke android:color="#65acee" android:width="2dp"/>
            </shape>
        </item>
    </layer-list>
</item>
</selector>

并在tabLayout

中设置此drawable
<android.support.design.widget.TabLayout
            android:id="@+id/tab_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/white"
            app:tabGravity="fill"
            app:tabMode="fixed"
            app:tabBackground="@drawable/custom_indicator" />

要更改未选中的标签文字颜色,只需提供默认的标签文字颜色和选定的标签文字颜色,如下所示:

<android.support.design.widget.TabLayout
            android:id="@+id/tab_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/white"
            app:tabGravity="fill"
            app:tabMode="fixed"
            app:tabTextColor="@color/unselected_color"
            app:tabSelectedTextColor="@color/selected_color"
            app:tabBackground="@drawable/custom_indicator" />

答案 1 :(得分:0)

您只需使用android:background即可为所有未选中的标签设置颜色一次。

blocked by play protect

custom_inactive_tab_indicator.xml:

    <style name="tab_text_style">
        <item name="android:textSize">16sp</item>
        <item name="android:fontFamily">sans-serif</item>
        <item name="android:textStyle">bold</item>
    </style>

    <style name="tab_style">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="tabIndicatorColor">@android:color/white</item>
        <item name="tabIndicatorHeight">3dp</item>
        <item name="tabTextAppearance">@style/tab_text_style</item>
        <item name="tabSelectedTextColor">@android:color/white</item>
        <item name="tabTextColor">@color/inactive_gray</item>
        <item name="android:background">@drawable/custom_inactive_tab_indicator</item>
        <item name="tabGravity">fill</item>
        <item name="tabMode">fixed</item>
    </style>

activity.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:left="-4dp"
        android:right="-4dp"
        android:top="-4dp">
        <shape android:shape="rectangle">
            <stroke
                android:width="3dp"
                android:color="#57595f" />
        </shape>
    </item>
</layer-list>