</androidx.viewpager.widget.ViewPager>
3.使用详解
这里很多人都使用的都是design 28,主工程的gradle的配置根据不同情况改。
工程库引用
上面三种使用方法,我们使用新的库androidx看下使用的效果图:
基础库使用效果
3.1 使用扩展
这里列举一下主要使用到到属性,只列举几个,具体可看官方文档。
|
属性
|
值
|
说明
|
| — | — | — |
|
tabMode
|
scrollable/fixed
|
tab是水平可滚动的还是固定宽,个数较少的时候可以使用fixed,如果标签超出了屏幕范围,设置为scrollable比较好
|
|
tabGravity
|
fill/center
|
tab的布局是布满空间还是居中
|
|
tabIndicatorHeight
|
(dp/pix)
|
底部滑动线条的高度
|
|
tabMaxWidth
|
(dp/pix)
|
Tab的最大宽度
|
|
tabTextColor
|
颜色值
|
默认样式未选中颜色
|
|
app:tabSelectedTextColor
|
颜色值
|
选中颜色
|
3.2 典型的使用场景
(1)代码添加tab
//TabLayout的基本使用
for(int i=0;i<mTitles.length;i++){
TabLayout.Tab tab=mTabLayout.newTab();
tab.setTag(i);
tab.setText(mTitles[i]);
mTabLayout.addTab(tab);
}
(2)不需要指示器
属性设置
app:tabIndicatorHeight=“0dp”
有时候想指示器的宽度小一些,可以参考文章Tablayout使用全解,一篇就够了 修改指示线长度(利用的反射,感觉不如自己基于源码封装一个,可以自定义长度)。
(3)添加图标
TabItem有个上下结构的默认布局,这里使用默认的
tabLayout1.addTab(tabLayout1.newTab().setText(“Tab 4”).setIcon(R.mipmap.ic_launcher));