Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

LillteZheng/FlowHelper

Repository files navigation

FlowHelper

FlowHelper 可以帮助您迅速构建Tab,比如热搜、搜索记录、与ViewPager搭配的工具类;

注意注意注意!!! 提问题的时候,请遵循以下标准

  • 现象: 操作步骤,应用场景
  • 对应代码: 贴图或者贴代码
  • 机型或版本: 可选

后面对描述不清的问题,不予理会,精力有限,感谢理解

具体原理可参考着四篇文章:

如果你也想自己写一个,可以参考以下几篇文章

实现一个可定制化的TabFlowLayout(一) -- 测量与布局

实现一个可定制化的TabFlowLayout(二) -- 实现滚动和平滑过渡

实现一个可定制化的TabFlowLayout(三) -- 动态数据添加与常用接口封装

实现一个可定制化的TabFlowLayout(四) -- 与ViewPager 结合,实现炫酷效果

实现一个可定制化的TabFlowLayout -- 原理篇

实现一个可定制化的TabFlowLayout -- 说明文档

FlowLayout 和 Recyclerview 实现双联表联动

如果您也想快速实现 Banner 轮播图,可以使用这个库 https://github.com/LillteZheng/ViewPagerHelper

工程实际使用 - 玩Android 客户端 : https://github.com/LillteZheng/WanAndroid

使用

在buid.gradle (新版as在setting.gradle)

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

如果你的工程的是androidx且想支持ViewPager2,可以关联tablibx库

implementation 'com.github.LillteZheng:FlowHelper:v2.3'

support可以关联以下连接,请尽快切到androidx,support包不再维护

 implementation 'com.github.LillteZheng.FlowHelper:tablib:v1.29'

不一定有时间处理,如果工程有不满足或bug,可以修改后提mr

TabFlowLayout 效果图

没有结合ViewPager 结合ViewPager
竖直效果

目前TabFlowLayout 支持以下效果:

  • 矩形
  • 三角形
  • 圆角
  • shape 或者 bitmap 等资源
  • 自定义功能
  • 放大Item效果,与上述效果可共用
  • 颜色渐变效果,需要使用 TabColorTextView 控件,与上述效果可共用,只支持有viewpager 的情况
  • 竖直效果,需要设置 tab_orientation = vertical
  • 宽度均分

TabFlowLayout 使用说明

LabelFlowLayout 效果图

LabelFlowLayout LabelFlowLayout 显示更多

LabelFlowLayout 支持以下效果:

  • 单选
  • 多选
  • 长按
  • 显示更多
  • 收起

LabelFlowLayout 使用说明

其实TabFlowLayout也可以支持底部导航栏,但其实没必要,可以参考这个库 https://github.com/LillteZheng/CusBottomHelper

底部凸起 结合ViewPager

版本信息:

  • v2.5 : 修复TabLabelLayout 在调用 resetStatus,第一个无法点击的问题。并增加 BaseLabelItem,Bean 类继承它,可实现换行
  • v2.3 : 修改TabVpFlowLayout 快速点击时,TabColorTextView 还有残留,和 tab 没有转移过去的问题
  • v2.0 : 内置部分控件,减少接入成本,并优化一些bug,和关闭demo ,viewpager 内存泄露的问题
  • v1.37 : 增加 tab_width_equals_text ,让 rect 根据 text 的长度变化,修复 TabColorTextView 加粗不起作用的问题
  • v1.32 : 修复res和round,tab_margin_x 不起作用的问题
  • v1.30 : 重构分离了ViewPager和非ViewPager的情况,并处理数据增加减少时,notifyDataChange()导致布局混乱的问题
  • v1.291: 修复notifyDataChange部分场景不起作用的问题,小重构了参数配置
  • v1.29 : 修复添加了tabWidth,round和res第一次不起作用的问题
  • v1.28 : 1. 修复底部条跳动的问题;2. 修复TabColorText不能设置padding的问题
  • v1.27 : 修复 tab_color 不起作用的问题
  • v1.26 : 增加 ViewPager2 ....

QQ群

为方便大家交流,创建了一个qq群,群号216618259

如果该项目对您有帮助,赞赏一下吧 ^_^

赞赏名单 方式
*头 微信
*变 微信

参考

本工程参考以下优秀项目:

鸿洋的 flowLayout

Flyco的 TabLayout

About

帮助您迅速构建顶部Tab,比如今日头条效果,热搜、搜索记录、与ViewPager/ViewPager2搭配的工具类;

Topics

Resources

License

Stars

Watchers

Forks

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /