如何在Android上的TabLayout中为选择选项卡设置填充

Jon*_*ong 0 android android-viewpager android-tablayout

在我的申请中我应该TabLayoutViewPager.
我想选择的项目设置为填充时tabIndicatorColortabLayout.

默认显示我这样的图像:
图片1

不是我想要的当选项目,请给我这样的:
在此输入图像描述

我想设置填充tabIndicatorColor.

我的TabLayout XML代码:

<android.support.design.widget.TabLayout
    android:id="@+id/serialDetail_tabLayout"
    android:layout_width="match_parent"
    android:layout_height="@dimen/size50"
    android:layout_gravity="bottom"
    android:background="@color/colorPrimary"
    app:tabIndicatorColor="@color/colorAccent"
    app:tabSelectedTextColor="@color/colorAccent"
    app:tabTextAppearance="@style/allCapsTabLayout"
    app:tabTextColor="@color/white" />
Run Code Online (Sandbox Code Playgroud)

我怎么能这样?请帮我.谢谢所有<3

Pri*_*ᴉɹꓒ 7

是的,没有自定义视图和外部库可以..

你可以创建一个选择器文件

tab_indicator_line.xml 添加到drawable文件夹中

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:state_pressed="false">
        <layer-list xmlns:android="http://schemas.android.com/apk/res/android">

            <item android:top="-5dp" android:left="-5dp" android:right="-5dp" android:bottom="5dp">
                <shape android:shape="rectangle">

                    <solid android:color="@android:color/white"/>
                    <stroke android:color="@color/colorPrimary" android:width="2dp"/>

                </shape>
            </item>
        </layer-list>
    </item>

    <item android:state_selected="true" android:state_pressed="true">
        <layer-list xmlns:android="http://schemas.android.com/apk/res/android">

            <item android:top="-5dp" android:left="-5dp" android:right="-5dp" android:bottom="5dp">
                <shape android:shape="rectangle">

                    <solid android:color="@android:color/white"/>
                    <stroke android:color="@color/colorPrimary" android:width="2dp"/>

                </shape>
            </item>
        </layer-list>
    </item>

</selector>
Run Code Online (Sandbox Code Playgroud)

现在使用tabLayout申请

app:tabBackground="@drawable/tab_indicator_line"
app:tabIndicatorHeight="0dp"
Run Code Online (Sandbox Code Playgroud)

告诉我是否有任何疑问..