[MultiLayout](一个可以支持多行的TabLayout的Android库)

MultiLayout

一个可以支持多行的TabLayout的Android库。

目前主要支持的功能有:

  • 根据数据可以动态拆分添加多行Tab
  • 可以和ViewPager联合使用
  • 具备TabLayout的相关功能

截图

multiLayout

用法

Step 1

在根build.gradle中添加:

allprojects {
    repositories {
        maven { url "https://jitpack.io" }
    }
}

在使用的模块build.gradle中添加:

dependencies {
    implementation 'com.github.ixiaow:multilayout:x.y.z'
}

请替换 x. y .z 为最新的版本号:

Step2

在你自己的xml文件中使用:

<com.ixiaow.multilayout.MultiLayout
     android:id="@+id/topic_layout"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     app:tab_indicator_color="@color/colorAccent"
     app:tab_indicator_height="5dp"
     app:tab_indicator_radius="5dp"
     app:tab_text_select_color="@color/colorAccent"
     app:tab_text_size="14sp"
     app:tab_text_unselect_color="@color/colorPrimary" />

Step3

ActivityFragment中初始化:

private MultiLayout mMultiLayout;
mMultiLayout = findViewById(R.id.multi_layout);

普通使用:

//tabNames是一个String类型的List集合,代表tab的名称
mMultiLayout.initTabNames(tabNames);
//更新tabNames
mMultiLayout.updateTabNames(tabNames);

ViewPager组合使用:

mViewPager.setAdapter(mCatalogAdapter);
mMultiLayout.setupWithViewPager(mViewPager);

添加TabText的点击事件:

/**
  * 设置Tab选择监听事件
  *
  * @param onTabSelectListener tab监听事件
  */
  public void setOnTabSelectListener(OnTabSelectListener onTabSelectListener) {
      this.mOnTabSelectListener = onTabSelectListener;
  }

Demo

具体的使用请看:sample

扩展属性

multilayout支持一下扩展属性:

Attributeformatdescription
tab_text_widthdimensiontab文本的宽度
tab_text_heightdimensiontab文本的高度
tab_text_sizedimensiontab文本的字体大小
tab_text_select_colorcolortab文本选中时的字体颜色
tab_text_unselect_colorcolortab文本字体未选中时的颜色
tab_indicator_colorcolorindicator指示器的颜色
tab_indicator_widthdimensionindicator指示器的宽度
tab_indicator_heightdimensionindicator指示器的高度
tab_indicator_radiusdimensionindicator指示器的圆角弧度

如果您觉得还可以欢迎Star ,谢谢!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值