TabLayout相信很多人都知道并且用过。一个很不错的Tab切换View,但是也存在一定问题。就是indicator(指示器)不能修改长短。这个功能让人很无语。关于这个问题的修改,网上有很多神仙方案。但是各有利弊。
所以。今天就来说一下 SlidingTabLayout,据说是google官方推荐的tab切换View。
好,不多说,老夫就是一把梭。直接上代码。
1、首先导入依赖
implementation ‘com.flyco.tablayout:FlycoTabLayout_Lib:2.1.2@aar’
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
如果需要adapte,请转至 viewPagerAdapter