代码之家  ›  专栏  ›  技术社区  ›  Jong

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

  •  0
  • Jong  · 技术社区  · 7 年前

    TabLayout ViewPager .
    我想在选中项目时设置填充 tabIndicatorColor tabLayout

    默认情况下,显示以下图像:
    Image 1

    Bu t I want when selected item,show me as this(当选择项目时,向我显示以下内容):
    enter image description here

    我要设置填充

    我的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" />
    

    我该怎么做?请帮帮我。谢谢大家<3.

    2 回复  |  直到 7 年前
        1
  •  7
  •   Pritesh - ɐʎıɥpɐΛ É¥sǝʇᴉɹꓒ    7 年前

    是的,没有自定义视图和外部库,这是可能的。。

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

    添加到可绘图文件夹

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

    现在使用

    app:tabBackground="@drawable/tab_indicator_line"
    app:tabIndicatorHeight="0dp"
    

    如果有任何疑问,请告诉我。。

        2
  •  2
  •   DAS    7 年前