天天看點

TabLayout加強版 —— com.flyco.tablayout.SlidingTabLayout

TabLayout相信很多人都知道并且用過。一個很不錯的Tab切換View,但是也存在一定問題。就是indicator(訓示器)不能修改長短。這個功能讓人很無語。關于這個問題的修改,網上有很多神仙方案。但是各有利弊。

是以。今天就來說一下 SlidingTabLayout,據說是google官方推薦的tab切換View。

好,不多說,老夫就是一把梭。直接上代碼。

1、首先導入依賴

implementation ‘com.flyco.tablayout:FlycoTabLayout_Lib:[email protected]’ 
           

2、在xml中添加view

<com.flyco.tablayout.SlidingTabLayout
        android:id="@+id/smart"
        android:layout_width="match_parent"
        android:layout_height="50dp"/>
           

3、在activity中的用法

private ViewPager viewPager;
 smartTabLayout = findViewById(R.id.smart);
 smartTabLayout.setViewPager(viewPager);//綁定tab和viewPager
           

其實到這。初步的搭建就已經算完成了。至于viewPager相關的。就不多做贅述了。

下面是重頭戲。SlidingTabLayout相關的屬性。具體業務可根據屬性自行訂制。

屬性 格式 描述
tl_indicator_color color 設定訓示器顔色
tl_indicator_height dimension 設定訓示器高度
tl_indicator_width dimension 設定訓示器固定寬度
tl_indicator_margin_left dimension 設定訓示器margin,當indicator_width大于0,無效
tl_indicator_margin_top dimension 設定訓示器margin,當indicator_width大于0,無效
tl_indicator_margin_right dimension 設定訓示器margin,當indicator_width大于0,無效
tl_indicator_margin_bottom dimension 設定訓示器margin,當indicator_width大于0,無效
tl_indicator_corner_radius dimension 設定訓示器圓角弧度
tl_indicator_gravity enum 設定訓示器上方(TOP)還是下方(BOTTOM),隻對正常訓示器有用
tl_indicator_style enum 設定訓示器為正常(NORMAL)或三角形(TRIANGLE)或背景色塊(BLOCK)
tl_underline_color color 設定下劃線顔色
tl_underline_height dimension 設定下劃線高度
tl_underline_gravity enum 設定下劃線上方(TOP)還是下方(BOTTOM)
tl_divider_color color 設定分割線顔色
tl_divider_width dimension 設定分割線寬度
tl_divider_padding dimension 設定分割線的paddingTop和paddingBottom
tl_tab_padding dimension 設定tab的paddingLeft和paddingRight
tl_tab_space_equal boolean 設定tab大小等分
tl_tab_width dimension 設定tab固定大小
tl_textsize dimension 設定字型大小
tl_textSelectColor color 設定字型選中顔色
tl_textUnselectColor color 設定字型未選中顔色
tl_textBold boolean 設定字型加粗

END