XTabLayout是基于design包中的TabLayout进行了功能的扩展,在保留原有功能的基础上,增加了修改选中项字体大小、字体粗体、字体和指示器颜色、分割线、指示器长度以及限制屏幕显示范围内显示的Tab个数等功能
1、导入依赖
implementation 'com.androidkun:XTabLayout:1.1.3'
有可能编译报错,可添加
implementation 'com.android.support:design:27.1.0'
2、在布局文件中设置XTabLayout属性
TabLayout有的属性,在XTabLayout中都会有,属性名称都是前面加个x,后面的t变成大写
<com.androidkun.xtablayout.XTabLayout android:id="@+id/xTablayout" android:layout_width="match_parent" android:layout_height="50dp" app:xTabMode="scrollable" app:xTabIndicatorColor="#0f0" app:xTabIndicatorHeight="4dp" app:xTabIndicatorWidth="15dp" app:xTabSelectedTextColor="#f00" app:xTabTextColor="#000" app:xTabTextSize="15sp" app:xTabSelectedTextSize="20sp"/>
使用方法和正常的Tab一样
1)设置屏幕内显示Tab个数
app:xTabDisplayNum="3"
或者代码实现
tabLayout.setxTabDisplayNum(3);//需要写在setupWithViewPager前 tabLayout.setupWithViewPager(viewPager);
2)设置Tab背景色,分别对应选中和未选中
app:xTabBackgroundColor="#fff" app:xTabSelectedBackgroundColor="#ff0"
3)设置指示器长度随文本改变
app:xTabDividerWidthWidthText="true"
4)设置文本大小写转换功能,默认小写不自动转换大写
在xml文件中添加 app:xTabTextAllCaps=”false” 或者在代码中调用 xTabLayout.setAllCaps(false).
5)设置Tab之间的分割线
XML
app:xTabDividerWidth="2dp" app:xTabDividerHeight="15dp" app:xTabDividerColor="#000" app:xTabDividerGravity="center"
不设置xTabDividerHeight属性或者赋值为0时则分割线高度占满
或者java
tabLayout.setDividerSize(5,20); tabLayout.setDividerColor(Color.BLACK); tabLayout.setDividerGravity(DividerDrawable.CENTER);
setDividerSize方法中第二个参数为高度,如果设置为0时则分割线高度占满
6)设置字体粗体
<!-- 设置选中Tab的文本是否粗体显示--> app:xTabTextSelectedBold="true" <!-- 设置未选中Tab的文本是否粗体显示--> app:xTabTextBold="true"