FlowHelper
FlowHelper copied to clipboard
帮助您迅速构建顶部Tab,比如今日头条效果,热搜、搜索记录、与ViewPager/ViewPager2搭配的工具类;
FlowHelper
FlowHelper 可以帮助您迅速构建Tab,比如热搜、搜索记录、与ViewPager搭配的工具类;
注意注意注意!!! 提问题的时候,请遵循以下标准
- 现象: 操作步骤,应用场景
- 对应代码: 贴图或者贴代码
- 机型或版本: 可选
后面对描述不清的问题,不予理会,精力有限,感谢理解
具体原理可参考着四篇文章:
如果你也想自己写一个,可以参考以下几篇文章
实现一个可定制化的TabFlowLayout(一) -- 测量与布局
实现一个可定制化的TabFlowLayout(二) -- 实现滚动和平滑过渡
实现一个可定制化的TabFlowLayout(三) -- 动态数据添加与常用接口封装
实现一个可定制化的TabFlowLayout(四) -- 与ViewPager 结合,实现炫酷效果
实现一个可定制化的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
- 宽度均分
LabelFlowLayout 效果图
LabelFlowLayout | LabelFlowLayout 显示更多 |
---|---|
![]() |
![]() |
LabelFlowLayout 支持以下效果:
- 单选
- 多选
- 长按
- 显示更多
- 收起
其实TabFlowLayout也可以支持底部导航栏,但其实没必要,可以参考这个库 https://github.com/LillteZheng/CusBottomHelper
底部凸起 | 结合ViewPager |
---|---|
![]() |
![]() |
版本信息:
- 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
![](https://img-blog.csdnimg.cn/20210518100138264.jpeg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE0MTg5NDM=,size_16,color_FFFFFF,t_70#pic_center)
如果该项目对您有帮助,赞赏一下吧 ^_^
![](https://github.com/LillteZheng/FlowHelper/raw/master/gif/wechat.png)
赞赏名单 | 方式 |
---|---|
*头 | 微信 |
*变 | 微信 |
参考
本工程参考以下优秀项目: