分类

开源

聚焦于 GitHub 上优秀的 Android 开源组件推荐与剖析,深入探讨其应用与集成实践。从 AndroidX 库的核心模块(如 AppCompat、ConstraintLayout)到 JitPack 仓库的便捷依赖管理,提供详尽的使用指南、源码解读和优化案例。涵盖网络框架、UI 组件、数据库工具等热门项目,帮助开发者快速引入并提升项目效率。

共 79 篇文章

开源

Mermaid 详解:用文本画图的 JavaScript 图表库

Mermaid 详解:用文本画图的 JavaScript 图表库画一张流程图,传统方式是拖拽 Visio 或 draw.io 的方框与连线,改一次布局重来一次。而 mermaid-js/mermaid(Mermaid)把画图变成了写代码:用几行类 Markdown 的文本描述节点与关系,渲染引擎自动生成流程图、时序图、甘特图等十几种图形。约 75k Star,是 GitHub 上最流行的图表库,且

141
开源

BigImageViewer 详解:模块化、可插拔引擎的大图查看库

BigImageViewer 详解:模块化、可插拔引擎的大图查看库上一篇聊了 SherlockGougou 的 BigImageViewPager,这篇来看名字相近、思路却不同的另一个库——Piasy/BigImageViewer。两者都解决"大图预览",但 BigImageViewer 更像一个"引擎中立"的底层组件:它以 Subsampling Scale ImageView(SSIV)为渲染

110
开源

FoldableLayout 详解:Android 纸张折叠动画

FoldableLayout 详解:Android 纸张折叠动画你能想象在 Android 上实现"一张纸对折展开"的真实物理动画吗?不是简单的缩放或淡入淡出,而是像真实纸张一样沿折痕折叠、有光影变化、有厚度感的 3D 动画。Alex Vasilkov 的 FoldableLayout 就是实现这种效果的开源库——1.6k+ Star,Android 上最经典的"纸张折叠"动画组件。虽然库已停止维

133
开源

​CalendarView:纯 Canvas 绘制的高性能可定制日历库

CalendarView:纯 Canvas 绘制的高性能可定制日历库日历是很多 App 的刚需——签到、预约、酒店预订、账单、打卡。但 Android 上做日历有两个老大难:性能差(传统基于 RecyclerView/GridView 的日历,一个月视图就要几百个 View,滑动卡顿)和难定制(UI 千篇一律,改源码成本高)。huanghaibin-dev 的 CalendarView 用一个反直

127
开源

​AvatarView 详解:支持 Coil/Glide 的 Android 头像组件库

AvatarView 详解:支持 Coil/Glide 的 Android 头像组件库社交、通讯、协作类 App 里,头像是个高频又琐碎的组件——要支持圆形 / 圆角、边框、在线状态点、首字母兜底,还要能在一个头像里塞多张图(比如群聊头像)。GetStream/avatarview-android(AvatarView)把这些都打包好了,并同时支持 Coil 与 Glide 两种图片引擎。本文从依

114
开源

AndroidUtilCode 详解:33k Star 的 Android 工具类库

AndroidUtilCode 详解:33k Star 的 Android 工具类库做 Android 开发,几乎每个项目都要重复写一遍尺寸换算、吐司、日志、SP 存取、权限申请、文件读写、加解密等"样板代码"。AndroidUtilCode(作者 Blankj)正是为消灭这些重复劳动而生——它把 Android 开发里最常用的功能封装成一个个工具类,并配有完整 demo 与单元测试,是目前 Gi

173
开源

​Context-Menu.Android 详解:炫酷上下文菜单库

Context-Menu.Android 详解:炫酷上下文菜单库Android 原生的上下文菜单(ContextMenu)大家都用过——长按弹出一个朴素的列表,白底黑字,毫无设计感。如果你的 App 想做出 iOS 那种"长按弹出带图标动画的华丽菜单",原生 API 基本帮不了你。Context-Menu.Android 是知名开源团队 Yalantis 出品的一个库,专门解决这个问题:它提供了一

184
开源

ExHyperV 详解:让凡人也能玩转 Hyper-V 的"神器"

ExHyperV 详解:让凡人也能玩转 Hyper-V 的"神器"Windows 自带的 Hyper-V 虚拟化平台功能强大,但它的"高级功能"——GPU 直通(DDA)、GPU 分区(GPU-PV)、PCIe 设备直通——配置门槛极高,需要深入 WMI、HCS(Host Compute Service)等底层接口,手搓命令行,普通人望而却步。ExHyperV(GitHub 开源,作者 Justs

352
开源

ToggleButton 详解:手搓自定义 View

ToggleButton 详解:手搓自定义 View每个 Android 开发者,在成长路上都应该手搓一次 ToggleButton——那个看起来简单的"iOS 风格开关",其实浓缩了自定义 View 的全部核心:测量、绘制、触摸事件、属性动画、自定义属性。zcweng 的 ToggleButton(及同作者的 SwitchButton)是 GitHub 上最经典的开源实现之一,既是拿来即用的 U

204
开源

Android 开发都要会的侧滑删除:AndroidSwipeLayout 实战

Android 开发都要会的侧滑删除:AndroidSwipeLayout 实战侧滑删除是 Android 列表交互的经典模式——微信、QQ、系统短信、邮件 App 都在用:手指左滑列表项,露出"删除/置顶"按钮。但手写一个健壮的侧滑并不简单,要处理多 item 互斥(一次只开一个)、嵌套水平滑动冲突、展开收起动画、RecyclerView 复用状态等一堆细节。而 daimajia 的 Andro

182
开源

智能刷新控件 SmartRefreshLayout:下拉刷新与上拉加载实战

智能刷新控件 SmartRefreshLayout:下拉刷新与上拉加载实战下拉刷新 + 上拉加载是几乎所有列表页的标配。但 Android 官方只给了 SwipeRefreshLayout——功能简陋、不支持上拉加载、Header 无法定制。而 SmartRefreshLayout 是国内最流行、最成熟的刷新框架:强大稳定,集成了各种炫酷、多样、实用、美观的 Header 和 Footer,支持所

246
开源

Titanic 详解:让文字如水波浮动的 Android 动画库

你能想象一段文字看起来像"浮在水面上",随着波浪上下起伏、半沉半浮吗?这不是特效视频,而是 Titanic——一个由 Romain Piel 开发的 Android 动画库。它通过对 TextView 的 TextPaint 应用动画化的 BitmapShader,让文字呈现出冰山浮水般的波浪效果。虽然项目已归档(DEPRECATED),但它展示的"Shader + Matrix 动画"技巧至今仍

234
开源

BRVAH(BaseRecyclerViewAdapterHelper)使用详解

BRVAH(BaseRecyclerViewAdapterHelper)使用详解BRVAH(BaseRecyclerViewAdapterHelper)是一个强大而灵活的 RecyclerView Adapter 框架,托管在 https://github.com/CymChad/BaseRecyclerViewAdapterHelper,截至目前已获得 24.6k Star、5.2k Fork,

302
开源

Coil ImageRequest 的 Target 与 ImageResult.image 的关系

Coil ImageRequest 的 Target 与 ImageResult.image 的关系在 Coil 中,ImageRequest 的 target 设置与否确实会影响 ImageResult 中 image 的可用性,但行为是符合预期的逻辑,而非"不设置才有 image"。以下是关键点解析。1、设置了 target 的情况当你显式设置 target(如 binding.palette

272