All Projects → jxiaow → multilayout

jxiaow / multilayout

Licence: other
一个可以支持自动将分类标签拆分多行Tab标签的Layout

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to multilayout

UltimateTabLayout
A library for tab layout use with viewpager. Very useful, small
Stars: ✭ 33 (+135.71%)
Mutual labels:  viewpager, tablayout
Snaptablayout
Android library for fluid tablayout animation as seen on Snapchat.
Stars: ✭ 547 (+3807.14%)
Mutual labels:  viewpager, tablayout
Changetablayout
[停止维护]一款炫酷的TabLayout
Stars: ✭ 345 (+2364.29%)
Mutual labels:  viewpager, tablayout
Flowhelper
帮助您迅速构建顶部Tab,比如今日头条效果,热搜、搜索记录、与ViewPager/ViewPager2搭配的工具类;
Stars: ✭ 295 (+2007.14%)
Mutual labels:  viewpager, tablayout
Magicindicator
A powerful, customizable and extensible ViewPager indicator framework. As the best alternative of ViewPagerIndicator, TabLayout and PagerSlidingTabStrip —— 强大、可定制、易扩展的 ViewPager 指示器框架。是ViewPagerIndicator、TabLayout、PagerSlidingTabStrip的最佳替代品。支持角标,更支持在非ViewPager场景下使用(使用hide()、show()切换Fragment或使用setVisibility切换FrameLayout里的View等),http://www.jianshu…
Stars: ✭ 8,969 (+63964.29%)
Mutual labels:  viewpager, tablayout
Dsltablayout
♥️ Android界最万能的TabLayout(不仅仅是TabLayout), 支持任意类型的item, 支持Drawable类型的指示器,智能开启滚动,支持横竖向布局等
Stars: ✭ 489 (+3392.86%)
Mutual labels:  viewpager, tablayout
PagerSlidingTabStrip
An interactive indicator to navigate between the different pages of a ViewPager
Stars: ✭ 2,194 (+15571.43%)
Mutual labels:  viewpager, tablayout
Funtablayout
An efficient tablayout for Android with added FUN!
Stars: ✭ 20 (+42.86%)
Mutual labels:  viewpager, tablayout
Android Tab Animation
Easily create TabLayout.Tab animations that sync with the scrolling progress of ViewPager
Stars: ✭ 68 (+385.71%)
Mutual labels:  viewpager, tablayout
Viewpagerhelper
这个一个 viewpager/viewpager2工具类,能够帮你快速实现导航栏轮播图,app引导页,viewpager/viewpager2 + fragment;内置多种tab指示器,让你告别 viewpager 的繁琐操作,专注逻辑功能
Stars: ✭ 957 (+6735.71%)
Mutual labels:  viewpager, tablayout
ViewWorld
自定义View合集,展示各种自定义View/控件。项目包含了自定义Banner轮播图控件,自定义验证码输入框,自定义TabLayout等控件,持续更新中😉😉😉
Stars: ✭ 94 (+571.43%)
Mutual labels:  viewpager, tablayout
Whatsappviewpager
Swipeable tabs like WhatsApp in Android
Stars: ✭ 115 (+721.43%)
Mutual labels:  viewpager, tablayout
Material-BottomBarLayout
🎉A material navigation bar library which has pretty animations and different ways of arrangement.
Stars: ✭ 56 (+300%)
Mutual labels:  viewpager, tablayout
SimpleSlider
A simple slider allows you to easily use.
Stars: ✭ 78 (+457.14%)
Mutual labels:  viewpager
carousel-viewpager
Beautiful carousel layout implemented using ViewPager
Stars: ✭ 17 (+21.43%)
Mutual labels:  viewpager
ViewPagerSlidingLottie
Animate LottieAnimationView with a viewpager
Stars: ✭ 30 (+114.29%)
Mutual labels:  viewpager
DynamicViewPagerDemo
ViewPager单屏显示多页面,动画效果
Stars: ✭ 49 (+250%)
Mutual labels:  viewpager
OnboardingDemo
Onboarding Example. Uses ViewPager's PageTransformer to animate elements.
Stars: ✭ 44 (+214.29%)
Mutual labels:  viewpager
MetalRecyclerPagerView
RecyclerView implementation for Android which makes it look and feel like ViewPager with item margins support (mutliple views effect).
Stars: ✭ 26 (+85.71%)
Mutual labels:  viewpager
Mu5ViewPager
仿小红书商品详情效果,根据图片高度动态变化的ViewPager(平滑过渡~)😀😀
Stars: ✭ 64 (+357.14%)
Mutual labels:  viewpager

MultiLayout

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

目前主要支持的功能有:

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

截图

img

用法

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支持一下扩展属性:

Attribute format description
tab_text_width dimension tab文本的宽度
tab_text_height dimension tab文本的高度
tab_text_size dimension tab文本的字体大小
tab_text_select_color color tab文本选中时的字体颜色
tab_text_unselect_color color tab文本字体未选中时的颜色
tab_indicator_color color indicator指示器的颜色
tab_indicator_width dimension indicator指示器的宽度
tab_indicator_height dimension indicator指示器的高度
tab_indicator_radius dimension indicator指示器的圆角弧度

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].