文档知识库【免费下载链接】AndroidLibs:fire:正在成为史上最全分类 Android 开源大全~~~~长期更新 Star 一下吧项目地址https://gitcode.com/gh_mirrors/an/AndroidLibs点击查看免费下载本文以 AndroidLibs 仓库中 进度条Progressbar/README.md 分类文档为骨架系统梳理 Android 生态中与进度条相关的 97 个开源库涵盖圆形/环形进度、SeekBar 滑块、Loading 加载动画、水波特效、网络下载进度、仪表盘数据可视化等方向。读完本文你既能按形态与场景快速定位合适的开源方案也能掌握原生 ProgressBar / SeekBar 的分类坐标以及自定义进度控件与网络进度监听的落地思路。1. 先建立坐标Android 原生进度控件的分类体系进度条ProgressBar是 Android 中最常用的反馈型控件之一。在进入开源库清单之前先厘清原生框架的分类坐标后续所有开源库都可以映射到这张坐标上。1.1 ProgressBar确定进度与不确定进度原生ProgressBar有两种核心状态确定进度determinate进度值明确可知通过android:max与android:progress两个属性控制最大值与当前值典型场景如文件下载、数据加载百分比不确定进度indeterminate无法预知完成时间仅展示正在运转的动画通过android:indeterminate或setIndeterminate(boolean)开启典型场景如网络请求等待。水平样式通过style?android:attr/progressBarStyleHorizontal指定此时ProgressBar才能显示确定进度默认样式是转圈样式。1.2 SeekBar可交互的进度SeekBar继承自ProgressBar在其基础上增加了用户拖动能力通过OnSeekBarChangeListener的三个回调感知进度变化onProgressChanged拖动过程中持续回调onStartTrackingTouch开始触摸onStopTrackingTouch结束触摸。SeekBar同样支持max/progress/secondaryProgress次要进度常用于缓冲进度显示。开源库中对 SeekBar 的改造是最多的方向之一加刻度、加气泡、加区间、改成圆弧或半圆等。1.3 开源库的常见扩展维度对照原生控件AndroidLibs 收录的进度条开源库基本沿着以下维度扩展维度说明典型形态形态在水平/转圈之外扩展出圆形、圆环、弧形、扇形、螺纹、波形等环形、圆弧、水波交互由纯展示扩展为可拖动、可区间选择、可步进SeekBar 变体状态在加载中之外补充成功、失败、重试等终态动画下载按钮、弹性动画场景面向图片加载、网络请求、表单分页、倒计时等具体业务网络进度、图片进度风格致敬特定产品Google、Uber、支付宝、Apple Watch、守望先锋等主题化 Loading进度条Progressbar/README.md 开篇即点明本分类的收录范围各种进度条progressbar seekbar 自定义的……下文即按上述坐标将 97 个库分组展开。2. 环形与圆形进度条最大的一个分支圆形/环形是进度条开源库中数量最庞大的形态从简单圆环到内嵌内容的复合控件一应俱全。2.1 经典圆形 / 圆环进度android-circular-progress-viewGuilhE一个精致的CircularProgressView适合作为圆形进度的基础形态CircularProgressbarsparrow007纯圆形进度条展示环形进度百分比CircularProgressBarShah-Sahab经典的CircularProgressBar实现CircularProgressViewrahatarmanahmedMaterial 风格的圆形进度条带平滑动画CircleProgressBardinuscxj直接继承ProgressBar的圆形进度条库从源码设计上保留了原生 ProgressBar 的属性和使用习惯是最贴近框架语义的一类实现CircleProgresslzyzsd一个库同时提供CircleProgress圆形、DonutProgress甜甜圈、ArcProgress弧形三种形态适合作为多形态需求的一站式选择CircleProgressFichardu圆形进度动画视图注重动画流畅度RingProgressBarHotBitmapGGMaterial Design 风格的圆环进度条圆环形态与 Material 配色语言统一RingProgressldoublem类似 Apple Watch 健身记录的环形进度多环叠加展示多项数据ColorArcProgressBarShinelw彩色弧形进度条通过多色渐变表达进度区间WhorlViewKyson螺纹whorl风格的进度条视觉效果独特dashed-circular-progressglomadrian虚线圆弧进度动画内部可以放置任意 View适合把图标、文字、图片嵌在圆环中心circularViewrjsvieira类 Google Fit 风格的圆形视图适合健康、运动类数据的环形展示。2.2 环形进阶堆叠、扇形与业务圆环ArcProgressStackViewGIGAMOLE以弧形arc模式呈现多条进度条文档明确列出其可控制维度View 尺寸与 CB 控制、字体与动画、绘制宽度与偏移与渐变、角度与方向、阴影是信息密度高且总控能力强的代表SectorProgressViewtimqi使用圆与扇形实现的简单进度/图表控件扇形扫过的角度即代表进度CreditSesameRingViewHotBitmapGG还原支付宝芝麻信用分界面的圆环视图圆环随信用分数渐变着色FABProgressCircleJorgeCastilloPrz围绕任意FloatingActionButton绘制的 Material 进度圆环符合 Material Design 指南常用于提交按钮 提交中反馈的交互AnimatedCircleLoadingViewjlmd动画圆形加载视图支持成功indeterminate → ok与失败indeterminate → failure两种终态动画circular-music-progressbaraliab音乐 App 场景的圆形进度条进度环围绕头像/封面图展开android-square-progressbarmrwonderman进度条围绕图片四周绘制方形路径是围绕内容画进度的另一形态。2.3 圆形时间 / 计时类控件circle-time-viewCROSP以美观的环形格式显示时间文档明确其用途是计时器与秒表CircleAlarmTimerViewyingLanNull圆形进度条实现的闹钟计时视图CountDownProgressViewkishorsinghgour圆角进度视图中心以文字显示剩余时间/周期/事件适合倒计时、周期任务场景。选型建议纯展示用经典圆环即可需要内嵌内容优先考虑 dashed-circular-progress要同时表达多项指标可看 ArcProgressStackView 与 RingProgress涉及提交/下载反馈FABProgressCircle、AnimatedCircleLoadingView 这类带终态动画的方案更完整。3. SeekBar 与滑块家族可交互的进度这一分支解决用户参与进度控制的问题从带刻度的区间选择到异形滑块都有覆盖。3.1 区间与刻度SeekBarWithIntervalsRameshBhupathi带文字标签区间的 SeekBar文档描述其效果类似Olx 筛选视图——把连续进度离散成若干可点击的档位material-range-baroli107Material 风格的范围选择控件用于选择一个数值区间双滑块RangeBarVerticalITheBK竖向RangeBarSeekBar带双滑块适合纵向布局crystal-range-seekbarsyedowaisaliCrystal Range Seekbar区间选择类实现terminal-seekbaralshell7智能 SeekBar支持在随机位置设置多个折点junction points将进度划分为多段SegmentedStepperSeekbarharshalbenake分段步进式 SeekBar按段递进而非连续滑动。3.2 异形滑块半圆、圆弧与圆形ProtractorViewGoodieBag半圆量角器形态的 SeekBar适合角度、温度等半量程调节SeekArcTriggertrap圆弧 SeekBar把拖动路径改造成弧线SwagPointsenginebai圆形SeekBar支持min/max 范围与步长step设置适合环形调节如音量、色温HueSeekBariammert灵感来自Philips Hue 智能灯 App的 SeekBar色彩与亮度调节类界面常参考它。3.3 风格化滑块BubbleSeekBarwoxingxiao进度变化时以可视化气泡呈现当前值拖动体验直观android-slidrflorent37文档称之为另一个 slider / seekbar属于通用滑块的补充实现PodSLiderbhargavmsUI 滑块控件slider面向现代 UI 的圆润滑块SnailBarandroid-cjj蜗牛造型控件文档明确说明既可以当 SeekBar 也可以当 ProgressBar使用兼顾交互与展示AwesomeProgressbaralex5241支持左右两边同时滚动的进度条打破了单向填充的常规FuckingVolumeSlidershellljx文档原话android 实现的反人类音量滑块一个以恶搞调侃方式实现的音量滑块适合做趣味 Demo 与动画练习SegmentedStepperSeekbar前文已列分段步进滑块兼顾分步引导与进度展示。选型建议连续区间调节用 material-range-bar / crystal-range-seekbar离散档位选择用 SeekBarWithIntervals / SegmentedStepperSeekbar环形调节用 SwagPoints / SeekArc需要强反馈的拖动场景BubbleSeekBar 的气泡方案表现力更强。4. 加载动画与 Loading 指示器Loading 指示器是不确定进度indeterminate的主力形态这一分支数量大、风格差异明显。4.1 点、方块与几何DotsLoaderViewsteelkiwi圆点加载视图多个圆点依次起伏SlidingSquareLoaderViewsteelkiwi滑动方块加载器BoxLoaderViewnipun-birla盒子类加载动画tinglingsquaresishan1604文档形容为a delightful progress animation方块阵列出场的趣味动画geometric-progress-viewvbohush以2D 几何图形多边形为载体的可定制进度指示器CoolProgressViewsamanjeetsingh150一个库集合多种酷进度视图LoadingDrawabledinuscxj提供**动物Animal、风景Scenery、圆形跳跃CircleJump**等多种 Loading Drawable以 Drawable 形式接入便于直接替换系统加载资源。4.2 拟物与趣味主题FunnyLoaderteam-supercharge加载指示器内置200 条随机趣味文案加载过程中文字不断变化适合内容型产品SmileyLoadingViewandyxialm仿支付宝的笑脸 LoadingView加载完成时笑脸绽放BreathingProgressDemowebianks呼吸式进度动画进度块像呼吸一样起伏ChompProgressViewandyb129文档形容为从你的美味图片上一口一口咬下去的进度视图进度以吃掉图片呈现BeerProgressViewandyb129)啤酒风格进度视图进度液体带气泡上浮OverwatchProgresszjywill守望先锋Overwatch风格进度动画适合游戏化界面。4.3 贝塞尔与特殊曲线BezierLoadingViewJeasonWong贝塞尔曲线加载动画曲线形变带动进度流转AndroidFillableLoadersJorgeCastilloPrz基于SVG 路径的填充式进度视图文档特别说明其适合打造品牌 Logo 加载动画灵感来自 iOS 的 FillableLoaders支持波浪、平面、尖刺、圆角等多种填充形态。4.4 Material / Google 风格MaterialProgressBarchaossssMaterial 风格进度条实现MaterialProgressBarDreaminginCodeZH强调外观一致性consistent appearance的 Material Design ProgressBar解决不同 Android 版本上 Material 进度条样式不一致的问题MaterialLoadingProgressBarlsjwzh外观与SwipeRefreshLayout 下拉刷新指示器一致的 ProgressBar基于 support-v4 v21materialish-progresspnikosis兼容 Android 2.3的 Material 风格转轮进度适合需要老版本兼容的工程GoogleProgressBarjpardogo复刻 Google 各服务中出现的加载样式含多套变体SmoothProgressBarcastorflex平滑、可定制的水平不确定进度条加载动画过渡柔和NumberProgressBardaimajia文档形容为beautiful, slim的进度条——数字百分比与进度条一体化显示曾是被广泛使用的经典实现之一AnimateHorizontalProgressBarMasayukiSuda)轻量自定义 View让水平 ProgressBar 的动画更易触发与控制。4.5 场景化加载布局、列表、文本与图片pageloaderarieridwan8自定义布局加载为页面/布局容器提供加载态basogitsindonesia以组件的方式维护列表加载状态把加载中、空数据、错误等状态封装为可复用组件loaderviewlibraryelye让TextView 或 ImageView 在内容真正加载完成前展示加载动画适合异步填充文本与图片的场景uberprogressviewishan1604从Uber App获取灵感的进度视图Loadingyankai-victor提供RotateLoading旋转、BookLoading书本翻页、NewtonCradleLoading牛顿摆等多套 Loading 视图LoadingViewldoublem集合多种动画效果的 LoadingView 库AnimatedLoadingIndicatoryash786agg动画版的 Progress Dialog替换系统默认对话框加载动画HoldToLoadLayoutmelihaksoy围绕子 View 绘制圆形加载进度灵感来自Destiny命运PS4 版的按住确认机制——按住触发、松开取消适合长按加载类交互SuperLoadingProgress835127729文档形容为优美的加载器根据进度值切换加载效果。选型建议只想换换默认转圈样式优先 LoadingDrawable / materialish-progress 这类资源级方案需要品牌化加载AndroidFillableLoaders、BezierLoadingView 表现力更强内容型产品可参考 FunnyLoader 的文案趣味化思路列表多状态管理则看 baso、pageloader。5. 水波与创意特效进度水波是进度展示中辨识度最高的形态之一液体填充效果天然契合容量、水位、进度等语义。WaveLoadingrace604文档称其为一个全能的水波加载动画波浪高度随进度变化中心可显示文字是水波类库的经典实现WaveProgressViewfanrunqi文档称其为most powerful wave load view强调波浪渲染的精细度WaveLoadingViewtangqi92)提供波浪加载效果的 Android 库GADownloadingAjian-studio文档评价蛮有创意的下载加载效果成功与失败两种终态动画区分明显ElasticDownloadTibolte弹性形变的下载动画文档附注成功success与失败fail两套呈现动画口号是We are not Gif makers, We are developersSpecialProgressBarzhangke3016特殊效果进度条以多套炫目动画区别于常规进度FreshDownloadViewdudu90下载进度展示 View下载完成与失败时附带炫酷动画。选型建议水位/容量类业务优先水波三件套WaveLoading、WaveProgressView、WaveLoadingView下载场景希望下载过程 结果反馈一体化则看 ElasticDownload、FreshDownloadView、GADownloading。6. 下载 / 上传 / 网络进度监听这一分支解决的不是画一个进度条而是如何拿到全局的传输进度数据属于进度条领域的进阶话题。ProgressManagerJessYanCoding文档给出的能力是一行代码即可监听 App 中所有网络链接的上传以及下载进度包括 Glide 的图片加载进度。这类全局监听方案的一般思路是在网络层如 OkHttp 的拦截器机制统一注入进度回调再把进度事件派发给各个 UI 控件——从架构上看它把进度采集与进度展示解耦业务方只需一行代码接入即可需要全局统计上传/下载进度含图片加载的工程这是最值得研究的对象ImageLoadingViewyingLanNull类似微信图片加载、微博图片加载、视频加载时的进度 View——图片/视频尚未就绪时展示进度就绪后平滑过渡snackprogressbartingyik90Snackbar 的扩展在 Snackbar 内显示进度适合操作进行中的轻量提示ProgressRoundButtoncctanfujun渐变的下载按钮文档提到不少小伙伴要做类似效果即点击下载后按钮本体变为进度环DownloadProgressBarpanwrona文档强调可以任意方式操纵其状态成功、失败、进行中等的下载进度条android-square-progressbar前文已列围绕图片绘制进度同样常用于图片/封面加载场景。选型建议需要覆盖全 App 的网络传输进度首选 ProgressManager 这类全局方案只想在图片加载时显示进度ImageLoadingView 更轻量下载按钮与 Snackbar 场景分别对应 ProgressRoundButton 与 snackprogressbar。7. 仪表盘、数据可视化与特殊形态进度语义还可以外延到仪表盘、图表与导航类控件这类库适合进度即数据的展示型业务。7.1 仪表盘与速度表SpeedViewanastr速度指示器刻度盘 指针形态适合车速、转速类展示PanelViewgithubwing仪表盘控件文档列出汽车仪表盘、气压仪表盘等典型用途sc-widgetsParoca72一套控件集合提供车速、气压、百分比等多种仪表形态。7.2 数据可视化形态plain-piezurche简单且可自定义的饼状图以扇形占比表达数据SegmentedBarViewgspd-mobi以分段 段内数值方式展示数据的自定义控件适合预算、额度分配类数据stackedhorizontalprogressbarnisrulz堆叠式水平进度条多段进度拼接展示Audiogramalxrm轻量音频波形进度条播放进度以波形呈现segmentedviewczy1121iOS 风格的分段控件类似 UISegmentedControl可辅助步骤进度类交互BreadcrumbsViewVictorAlbertos为**分页表单paginated forms**设计的可定制视图用面包屑表达多步骤进度android-material-app-ratingstepstone-tech评分库用对话框引导用户打分——以星级形态表达评价进度与结果是进度语义在评分场景的延伸SwipeCoordinatorVictorAlbertos坐标布局把触摸事件动画化、类型化为滑动手势属于进度交互的底层辅助组件ProgressViewWhiteDG通用自定义进度条文档描述简洁适合作为二次改造的起点。选型建议车载/运动/硬件类界面用 SpeedView、PanelView、sc-widgets数据占比类看 plain-pie、SegmentedBarView、stackedhorizontalprogressbar多步骤流程表单、引导用 BreadcrumbsView、SegmentedStepperSeekbar、segmentedview。8. 实战如何选型、集成与自定义进度条8.1 按需求快速选型需求优先考虑环形进度展示第 2 节全部多指标看 ArcProgressStackView / RingProgress用户拖动调节第 3 节区间选 material-range-bar环形调节选 SwagPoints / SeekArc不确定加载动画第 4 节资源级替换看 LoadingDrawable / materialish-progress水波 / 液体效果第 5 节 WaveLoading 系列下载 / 上传进度第 6 节 ProgressManager 等仪表盘 / 数据可视化第 7 节 SpeedView、PanelView、plain-pie 等8.2 集成流程通用步骤无论选择上述哪一个库接入流程大体一致具体依赖坐标以各库文档为准在模块级build.gradle中添加对应库的依赖在布局 XML 中声明该自定义 View按库文档配置max、progress、颜色、尺寸等属性在代码中通过setProgress(...)或setValue(...)更新进度需要交互的库SeekBar 系列实现各自的进度监听回调。8.3 自定义进度条的最小实现骨架理解上述开源库的共同底层能力有助于遇到库不满足需求时自行实现。一个自定义进度条的核心是public class MyProgressView extends View { private Paint paint new Paint(Paint.ANTI_ALIAS_FLAG); private int progress; // 0..max private int max 100; Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); // 1. 画背景轨道圆环 / 水平条 // 2. 按 progress / max 计算扫过角度或长度 // 3. 画前景进度 } public void setProgress(int progress) { this.progress progress; invalidate(); // 触发重绘 } }关键点用ValueAnimator做进度插值以获得平滑动画onDraw中避免频繁创建对象复用Paint、Path等防止卡顿涉及网络进度时把数据采集回调层与绘制View 层解耦这正是 ProgressManager 一类库的架构启示。9. 延伸AndroidLibs 中的相邻分类进度条控件常与其他分类组合使用本仓库的相邻分类文档可继续深入特效Effect/README.md进度动画与特效实现可交叉参考自定义控件Custom/README.md无法归入进度条细分的自定义 View 聚集于此动画Animation/README.md进度条动画的底层驱动知识图片框架Image/README.md图片加载进度如 ImageLoadingView与图片框架联动网络框架Network/README.md网络请求进度监听的传输层知识弹框Dialog/README.mdAnimatedLoadingIndicator 这类对话框 加载动画的组合形态按钮Button/README.mdProgressRoundButton、FABProgressCircle 等按钮 进度组合形态。结语本文以 进度条Progressbar/README.md 为基础将 97 个进度条相关开源库按环形进度、SeekBar 滑块、加载动画、水波特效、网络进度、仪表盘可视化六大方向完成归类并补充了原生 ProgressBar / SeekBar 的基础坐标、按需求选型的方法论以及自定义进度条的最小实现骨架。实际开发中建议先明确展示型还是交互型、确定还是不确定、水平还是异形、单控件还是全局监听四个问题再对照本文各节的清单快速圈定候选库最后结合各库文档验证属性与 API 细节后落地。赞分享文档知识库【免费下载链接】AndroidLibs:fire:正在成为史上最全分类 Android 开源大全~~~~长期更新 Star 一下吧项目地址https://gitcode.com/gh_mirrors/an/AndroidLibs点击查看免费下载相关推荐awesome-ios-animation 进度动画专题iOS 加载指示器、进度 HUD、环形进度与仪表盘开源库实战指南awesome ios animation 进度动画专题iOS 加载指示器、进度 HUD、环形进度与仪表盘开源库实战指南 本篇技术指南以 awesome ioGodot-demo-projects异步场景加载进度条与加载动画实现Godot demo projects异步场景加载进度条与加载动画实现 痛点直击告别卡顿的游戏体验 你是否还在为Godot项目中场景切换时的卡顿烦恼当玩家示例工程Playnite一站式游戏库管理神器轻松整合所有平台游戏Playnite一站式游戏库管理神器轻松整合所有平台游戏 你是否厌倦了在Steam、Epic、GOG、EA App、Battle.net等多个游戏平台之间来桌面应用游戏开发上一篇思源宋体7款免费开源字体如何彻底改变你的中文排版体验下一篇思源宋体免费开源中文字体的完整使用指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考