
AndroidTreeView 详解:树形控件递归渲染
项目地址:https://github.com/bmelnychuk/AndroidTreeView 定位:轻量级 Android 树形视图——可展开/折叠、可勾选(单选/多选)、可搜索、节点可挂任意自定义布局,文件夹浏…
# 标签
共 132 篇文章

项目地址:https://github.com/bmelnychuk/AndroidTreeView 定位:轻量级 Android 树形视图——可展开/折叠、可勾选(单选/多选)、可搜索、节点可挂任意自定义布局,文件夹浏…

项目地址:https://github.com/DImuthuUpe/AndroidPdfViewer 定位:基于 pdfium 的 Android PDF 渲染库——原 barteksc/AndroidPdfViewe…

CircularProgressButton:会变形为圆形进度的按钮登录、上传、支付这类操作有个经典体验诉求——按下按钮后,按钮原地变成加载动画,成功变绿、失败变红,整个过程不跳转、不弹窗。手写这套"按钮 ↔ 圆形进度条变形 + 状态切换"其实很繁琐(要处理形变动画、状态机、进度环绘制)。dmytrodanylyk 的 CircularProgressButton 是这方面的经典 Android

WilliamChart:轻量美观的 Android 图表库实战数据可视化是运动、健康、金融、统计类 App 的刚需。MPAndroidChart 功能最全但偏重复杂,WilliamChart 走的则是"轻量 + 美观 + Kotlin 原生"路线——v3 用 Kotlin 完全重写,API 极简,一行 chart.animate(dataSet) 就能把数据画成带动画的折线/柱状/环形图,开箱即
BigImageViewPager 详解:支持超大图、长图与视频的 Android 图片预览库在社交、电商、相册类 App 里,点开一张图进入可双指缩放的全屏预览几乎是标配。自己从零实现,要处理长图 OOM、手势缩放、原图下载进度、与图片加载框架衔接等一连串细节。BigImageViewPager(作者 SherlockGougou)把这些打包成一个开箱即用的 Android 预览库,支持超大图、

SearchView 完全用法解析搜索是 App 里最常见的人机入口之一,Android 也为此专门提供了 SearchView。但很多人对它的印象停留在"放个输入框、加个监听",其实它背后还有一整套可搜索配置(searchable 配置)、searchable Activity、ACTION_SEARCH 传递与搜索建议机制。本文从零开始,把 SearchView 的两种用法、清单声明、接收查询

RecyclerView 缓存机制终极指南:从原理到实战优化1、理解RecyclerView缓存的核心价值RecyclerView之所以能成为Android开发中最强大的列表控件,关键在于它高效的四级缓存体系: 即时响应:通过复用ViewHolder减少对象创建开销 内存优化:分层缓存控制内存占用峰值 平滑滚动:预加载机制保障60fps流畅体验 灵活扩展:支持开发者自定义缓存策略2、深入四级缓存工

TextureView 初探:结合 Camera 实现相机预览1、TextureView 基本概念1.1、什么是 TextureViewTextureView 是 Android 4.0(API 14)引入的一个视图类,它可以将内容流(如相机预览、视频播放)渲染到一个硬件加速的纹理上。与 SurfaceView 不同,TextureView 是一个普通的 View,可以像其他 View 一样进行变

RemoteViews 实现原理深度解析RemoteViews,顾名思义,就是远程的 View。它是 Android 提供的一个用于跨进程更新 UI 的类,可以在其他进程中创建和更新 View。RemoteViews 实现了 Parcelable 接口,因此可以在进程间传输,主要用于通知栏通知和桌面小组件等场景。1、RemoteViews 概述1.1、什么是 RemoteViewsRemoteVi
Android View 动画之 LayoutAnimation 详解1、LayoutAnimation 概述LayoutAnimation 是 Android 中用于为 ViewGroup 的子 View 添加进入动画的工具。它可以让列表、网格等容器中的子元素按照特定的顺序和时间间隔依次执行动画,从而创造出流畅、有序的视觉效果。核心特性: - 自动为 ViewGroup 的子 View 添加进入

Android SurfaceView 全面解析与实践指南1、SurfaceView 概述SurfaceView 是 Android 中一种特殊的 View,它拥有独立的 Surface,可以在非 UI 线程进行绘制操作。与普通 View 不同,SurfaceView 的绘制不会阻塞主线程,这使得它非常适合需要频繁刷新或复杂渲染的场景。核心特性: - 独立的渲染 Surface,双缓冲机制 - 支
Android 布局中 @id/ 和 @+id/ 的区别1、基本概念在 Android XML 布局文件中,@id/ 和 @+id/ 用于定义和引用视图的唯一标识符: - @+id/:创建一个新的 ID - @id/:引用一个已存在的 ID2、详细区别2.1、@+id/- 功能:在 R.java 文件中创建一个新的 ID 资源 - 使用场景:当你首次定义一个视图的 ID 时 - 编译结果:会在 R
View 坐标方法浅析:getLocalVisibleRect()、getGlobalVisibleRect()、getLocationOnScreen()、getLocationInWindow()1、概述在 Android 开发中,了解 View 的坐标位置和可见区域是非常重要的,特别是在实现动画、交互效果和布局调整时。Android 提供了多个方法来获取 View 的位置和可见区域信息,其中

Toast 源码详解:从创建到显示的完整流程1、Toast 的创建与初始化1.1、makeText 方法Toast 的创建从 makeText() 方法开始:这个方法会调用内部的 makeText 方法,该方法会根据兼容性设置创建 Toast 实例:1.2、Toast 构造方法Toast 的构造方法会初始化关键成员变量:1.3、Looper 获取Toast 必须在有 Looper 的线程中创建:1
Android Canvas 图层详解1、Canvas 图层概述Canvas 图层是 Android 绘图系统中的重要概念,它允许开发者在绘制过程中创建和管理多个绘图层,实现复杂的视觉效果。图层可以看作是独立的绘图表面,支持保存和恢复绘图状态,为绘制操作提供了更大的灵活性。核心概念: - 图层:独立的绘图表面,拥有自己的状态 - 画布状态:包括矩阵变换、裁剪区域、绘制属性等 - 图层栈:用于管理多