• Stars
    star
    685
  • Rank 65,982 (Top 2 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created almost 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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

More Repositories

1

ViewPagerHelper

这个一个 viewpager/viewpager2工具类,能够帮你快速实现导航栏轮播图,app引导页,viewpager/viewpager2 + fragment;内置多种tab指示器,让你告别 viewpager 的繁琐操作,专注逻辑功能
Java
1,163
star
2

AppUpdate

APP 在线升级库,支持多线续传,后台更新等功能;APP online library upgrade, support multi-line continuation, background update and other functions
Java
35
star
3

OpenGLDemo

用于学习OpenGL
Kotlin
34
star
4

VideoDemo

音视频学习demo
Java
34
star
5

ZlifeCycle

生命周期监听工具库
Java
26
star
6

ZMail

这是一个常用的邮件发送demo
Java
26
star
7

SocketDemo

一系列Socket实例,努力更新中
Java
24
star
8

EasyTranalte

Android 多国语言转换 Excel 和 Excel 转换为 string
Java
18
star
9

BluetoothDemo

蓝牙开发Demo,传统蓝牙聊天室,A2DP蓝牙音响,BLE低功耗蓝牙等
Kotlin
17
star
10

CusBottomHelper

这是一个快速搭建底部导航栏的工具类,支持多种效果
Java
15
star
11

AndroidTvRectAnim

用属性动画实现的游标边框
Java
12
star
12

ZDownLoader

这是一个简易下载库 (不再维护)
Java
11
star
13

ZSkinPlugin

一键换肤,低入侵,享受换肤快乐
Java
9
star
14

SocketIoDemo

sample demo for socket.io
Java
9
star
15

WanAndroid

玩Android客户端
Java
9
star
16

WebRTCDemo

WebRTC Demo 学习demo
Kotlin
6
star
17

LanServer

局域网分享图片功能
Java
6
star
18

MvpDemo

使用MVP设计模式实践一个数据保存的demo,结构清晰简单,让你实战理解MVP
Java
6
star
19

MQTTDemo

MQTT Android demo,与MQTT.fx 实现通信
Java
4
star
20

JniDemo

这是一篇比较全面的 JNI 实例教程的 Demo
3
star
21

NfcDemo

Nfc 功能
Kotlin
3
star
22

okhttplib

一个封装好的okhttp 包
Java
3
star
23

ZDiffUpdate

Android 增量更新demo和so
C
2
star
24

FlowHelperX

FlowHelperX 为 https://github.com/LillteZheng/FlowHelper 的Androidx 项目
Java
2
star
25

ZWebHelper

一个封装的Webview
Java
1
star
26

ZPlayer

万能播放器,还在写功能中
Kotlin
1
star
27

ShareVedio

一个远程会议的demo
Java
1
star
28

appupdatelib

apk在线升级封装库
Java
1
star
29

ShareLib

Java
1
star
30

MatrixView

支持缩放,旋转的view
Java
1
star
31

AndroidXDemo

1
star
32

AriesUI

一个常用的UI工具类,用于快速定制
Java
1
star
33

EcLoadingView

这是一个封装好的 loading 工具库
Java
1
star
34

ZLog

快速压缩日志工具,支持压缩其他文件到指定路径
Java
1
star