smarttablayout

github地址 https://github.com/ogaclejapan/SmartTabLayout

为什么要用这个 可定制性高 使用灵活

1.引入

implementation 'com.ogaclejapan.smarttablayout:library:1.7.0@aar'

2.布局文件使用

 

各属性介绍

属性 描述
stl_indicatorAlwaysInCenter 如果设置为true,则活动选项卡始终显示在中心(如书报摊google app),默认为false
stl_indicatorWithoutPadding 如果设置为true,则绘制指标时不使用制表符填充,默认为false
stl_indicatorInFront 在下划线前绘制指示器,默认为false
stl_indicatorInterpolation 指标的行为:“线性”或“智能”
stl_indicator 指标的绘图位置:“底部”或“顶部”或“中心”,默认为“底部”
stl_indicatorColor 指示灯颜色
stl_indicatorColors 指示器的多种颜色,可以为每个选项卡设置颜色
stl_indicatorThickness 指示器厚度
stl_indicatorWidth 指标宽度,默认为“自动”
stl_indicatorCornerRadius 圆角半径指示器
stl_overlineColor 第一行的颜色
stl_overlineThickness 顶线厚度
stl_underlineColor 底线颜色
stl_underlineThickness 底线粗细
stl_dividerColor 标签之间的分隔线颜色
stl_dividerColors 标签之间的分隔线有多种颜色,可以为每个标签设置颜色
stl_dividerThickness 分隔线的厚度
stl_defaultTabBackground 每个选项卡的背景可绘制。通常,它设置StateListDrawable
stl_defaultTabTextAllCaps 如果设置为true,则所有标签标题均为大写,默认为true
stl_defaultTabTextColor 默认情况下包含的标签的文本颜色
stl_defaultTabTextSize 默认包含的选项卡的文本大小
stl_defaultTabTextHorizo​​ntalPadding 默认情况下包含的选项卡的文本布局填充
stl_defaultTabTextMinWidth 标签的最小宽度
stl_customTabTextLayoutId 布局ID定义的自定义标签。如果未指定布局,请使用默认选项卡
stl_customTabTextViewId 自定义标签布局中的文本视图ID。如果您未使用customTabTextLayoutId进行定义,则无法使用
stl_distributeEvenly 如果设置为true,则每个选项卡都具有相同的权重,默认为false
stl_clickable 如果设置为false,则禁用对选项卡单击的选择,默认为true
stl_titleOffset 如果设置为“ auto_center”,则标签在中间的滑动位置将保持居中。如果指定尺寸,它将从左边缘偏移,默认为24dp
stl_drawDecorationAfterTab 绘制制表符后绘制装饰(指示符和线条),默认为false

注意:如果将'stl_indicatorAlwaysInCenter'和'stl_distributeEvenly'都设置为true,它将抛出UnsupportedOperationException。

tab_layout



custom_tab

在资源文件夹下创建color文件夹

创建custom_tab文件 如下



    
    

3.页面中使用

val adapter = SectionsPagerAdapter(supportFragmentManager)//自定义适配器,页面切换,和原生的使用方法相同
        viewpager.adapter = adapter
        viewpager.offscreenPageLimit = 2
        tabs.setViewPager(viewpager)//本文中的smarttablayout
        viewpager.addOnPageChangeListener(pageChangeListener)

注:此tablayout可定制指示器宽度 高度 tab标签间的分割线等,比原生提供的可定制性强许多。

你可能感兴趣的:(Android)