1 导入包
29以前:
implementation 'com.android.support:design:28.0.0'
29及以后(使用androidx):
implementation 'com.google.android.material:material:1.0.0'
2 常用的布局属性
2.1 tabIndicatorFullWidth
tabIndicatorFullWidth表示Tab指示器的宽度是否满宽度,即与Tab布局一样宽度。
//指示器不与Tab的宽度相同,其宽度由Tab中的文字宽度决定
app:tabIndicatorFullWidth="false"
//指示器与Tab的宽度相同,其宽度由Tab的宽度决定,默认为true
app:tabIndicatorFullWidth="true"
app:tabIndicatorFullWidth="false"如图所示:

app:tabIndicatorFullWidth="true"如图所示:

2.2 其它属性
| 属性 | 描述 |
|---|---|
| tabIndicatorColor | 设置tab指示器(tab的下划线)的颜色。 |
| tabIndicatorHeight | 设置tab指示器(tab的下划线)的高度。 |
| tabBackground | 设置的背景。 |
| tabContentStart | 相对起始位置tab的Y轴偏移量。 |
| tabGravity | tab的布局方式,两个值GRAVITY_CENTER (内容中心显示) 和 GRAVITY_FILL (内容尽可能充满TabLayout)。 |
| tabMaxWidth | 设置tab选项卡的最大宽度。 |
| tabMinWidth | 设置tab选项卡的最小宽度。 |
| tabMode | 设置布局中tab选项卡的行为模式,两个常量MODE_FIXED (固定的tab)和 MODE_SCROLLABLE(滑动的tab)。 |
| tabPadding | 设置tab的内边距(上下左右)。 |
| tabPaddingTop | 设置tab的上方内边距。 |
| tabPaddingBottom | 设置tab的底部内边距。 |
| tabPaddingStart | 设置tab的左侧内边距。 |
| tabPaddingEnd | 设置tab的右侧内边距。 |
| tabSelectedTextColor | 设置tab被选中时的文字颜色。 |
| tabTextColor | 设置tab默认的文字颜色。 |
| tabRippleColor | 设置水波纹背景颜色,如果设置为透明则可达到去掉水波纹的效果 |
3 TabLayout方法介绍
| 方法 | 描述 |
|---|---|
| addOnTabSelectedListener(TabLayout.OnTabSelectedListener listener) | 添加一个TabLayout.OnTabSelectedListener监听事件,当tab选择更改时,它将被调用。 |
| addTab(TabLayout.Tab tab,boolean setSelected) | 向此布局添加选项卡,并设置是否被选中 |
| addTab(TabLayout.Tab tab,int position) | 向此布局添加选项卡,并设置位置 |
| addTab(TabLayout.Tab tab) | 向此布局添加选项卡。 |
| addTab(TabLayout.Tab tab,int position,boolean setSelected) | 向此布局添加选项卡,设置位置并是否被选中 |
| addView(View child,int index) | 添加子视图到指定位置。 |
| addView(View child) | 添加子视图。 |
| addView(View child,ViewGroup.LayoutParams params) | 添加具有指定布局参数的子视图。 |
| addView(View child,int index,ViewGroup.LayoutParams params) | 添加具有指定布局参数的子视图。 |
| clearOnTabSelectedListeners() | 删除所有以前添加的TabLayout.OnTabSelectedListeners。 |
| generateLayoutParams(AttributeSet attrs) | 根据提供的属性集返回一组新的布局参数。 |
| getSelectedTabPosition() | 返回当前所选标签的位置。 |
| TabLayout.Tab getTabAt(int index) | 返回指定位置的tab。 |
| getTabCount() | 返回当前在操作栏中注册的选项卡数。 |
| getTabGravity() | 返回当前的标签tab的布局方式,GRAVITY_CENTER (内容中心显示) 和 GRAVITY_FILL (内容尽可能充满TabLayout)。 |
| getTabMode() |

&spm=1001.2101.3001.5002&articleId=104554114&d=1&t=3&u=be209d10d4d04efeb175efa59793fc95)
6万+

被折叠的 条评论
为什么被折叠?



