
Android UI
文章平均质量分 82
韩曙亮
中国人民大学硕士 , 专注于 移动开发 领域 , 博客专家 , 2023 年博客之星 TOP1 , 2021 年博客之星 TOP9 , 华为云 云享专家 , 阿里云社区 专家博主 , 51CTO 专家博主 ;
展开
-
【Android UI】SurfaceView中使用 Canvas 绘制可缩放大图 ( 拖动和缩放相关的变量 | Canvas 绘图函数 | 手势识别 多点触控流程 | 拖动图片 | 缩放图片 )
一、需求分析 和 核心要点 说明1、需求说明2、核心要点 - 拖动和缩放相关的变量3、核心要点 - Canvas 绘图函数4、核心要点 - 手势识别 多点触控流程5、核心要点 - 拖动图片6、核心要点 - 缩放图片二、完整代码示例1、环境说明2、SurfaceView 完整代码3、运行结果原创 2024-11-21 18:27:13 · 2480 阅读 · 11 评论 -
【Android UI】贝塞尔曲线 ⑦ ( 使用 德卡斯特里奥算法 公式计算的 方法绘制三阶贝塞尔曲线示例 )
一、使用 德卡斯特里奥算法 公式计算的 方法绘制三阶贝塞尔曲线、二、代码示例原创 2022-08-04 01:13:00 · 1223 阅读 · 0 评论 -
【Android UI】贝塞尔曲线 ⑥ ( 贝塞尔曲线递归算法原理 | 贝塞尔曲线递归算法实现 )
一、贝塞尔曲线递归算法、二、贝塞尔曲线递归算法实现原创 2022-08-02 18:20:39 · 1542 阅读 · 0 评论 -
【Android UI】贝塞尔曲线 ⑤ ( 德卡斯特里奥算法 | 贝塞尔曲线递推公式 )
一、德卡斯特里奥算法、二、贝塞尔曲线递推公式、原创 2022-08-01 19:26:47 · 1601 阅读 · 0 评论 -
【Android UI】贝塞尔曲线 ④ ( 使用 android.graphics.Path 提供的 cubicTo 方法绘制三阶贝塞尔曲线示例 )
一、使用 Path 提供的 cubicTo 方法绘制三阶贝塞尔曲线、二、代码示例 | 绘制效果原创 2022-07-28 16:45:28 · 1659 阅读 · 0 评论 -
【Android UI】贝塞尔曲线 ③ ( 贝塞尔曲线关键点坐标记录 | 二阶贝塞尔曲线示例 )
一、贝塞尔曲线关键点坐标记录、二、二阶贝塞尔曲线示例、三、代码示例原创 2022-07-28 16:25:05 · 1156 阅读 · 0 评论 -
【Android UI】贝塞尔曲线 ② ( 二阶贝塞尔曲线公式 | 三阶贝塞尔曲线及公式 | 高阶贝塞尔曲线 )
一、二阶贝塞尔曲线公式、二、三阶贝塞尔曲线、三、高阶贝塞尔曲线、原创 2022-07-21 18:05:45 · 4912 阅读 · 0 评论 -
【Android UI】贝塞尔曲线 ① ( 一阶贝塞尔曲线 | 二阶贝塞尔曲线 )
一、一阶贝塞尔曲线、二、二阶贝塞尔曲线原创 2022-07-21 16:26:31 · 1665 阅读 · 0 评论 -
【Android UI】Canvas 画布 ⑨ ( Canvas 绘图坐标系平移实例 )
一、Canvas 绘图坐标系平移实例、二、代码示例原创 2022-07-13 18:08:48 · 1517 阅读 · 0 评论 -
【Android UI】Canvas 画布 ⑧ ( Canvas 绘图坐标系 2x2 矩阵 | Canvas 绘图坐标系 3x3 操作矩阵 )
一、Canvas 绘图坐标系 2x2 矩阵、二、Canvas 绘图坐标系 3x3 操作矩阵原创 2022-07-13 11:43:45 · 1269 阅读 · 0 评论 -
【Android UI】Canvas 画布 ⑦ ( Canvas 绘制显示区域 | Canvas 绘制矩形源码分析 )
一、Canvas 绘制显示区域、二、Canvas 绘制矩形源码分析原创 2022-07-13 10:45:25 · 1823 阅读 · 0 评论 -
【Android UI】Canvas 画布 ⑥ ( Canvas 绘图源码分析 | ViewRootImpl#draw 方法源码 | ViewRootImpl#drawSoftware 方法源码 )
一、Canvas 绘图源码分析、二、ViewRootImpl#draw 方法源码、三、ViewRootImpl#drawSoftware 方法源码、原创 2022-07-12 17:12:52 · 1290 阅读 · 0 评论 -
【Android UI】Canvas 画布 ⑤ ( Canvas 坐标系 | Canvas 绘图坐标系变换示例 )
一、Canvas 绘图坐标系变换示例原创 2022-07-11 10:56:52 · 1458 阅读 · 0 评论 -
【Android UI】Canvas 画布 ④ ( Canvas 坐标系 | Canvas 自身坐标系 | Canvas 绘图坐标系 )
一、Canvas 自身坐标系、二、Canvas 绘图坐标系、原创 2022-07-11 01:37:23 · 2347 阅读 · 0 评论 -
【Android UI】Canvas 画布 ③ ( Canvas 图层栈 | Canvas#saveLayer() 新建图层 | Canvas 状态栈保存信息标志位 )
一、Canvas#saveLayer() 新建图层、二、Canvas 状态栈保存信息标志位原创 2022-07-10 23:08:38 · 1642 阅读 · 0 评论 -
【Android UI】Canvas 画布 ② ( Canvas 状态栈 | Canvas#restoreToCount 状态栈出栈到指定层级 )
Canvas 状态栈出栈到指定层级原创 2022-07-08 00:41:21 · 863 阅读 · 0 评论 -
【Android UI】Canvas 画布 ① ( Canvas 状态栈 | Canvas 状态栈入栈与出栈 | 获取 Canvas 状态栈容量 | Canvas 状态栈原点数据 )
一、Canvas 状态栈入栈与出栈、二、获取 Canvas 状态栈容量、三、Canvas 状态栈原点数据、原创 2022-07-05 18:35:03 · 829 阅读 · 0 评论 -
【Android UI】绘制圆角矩形进度条 ① ( 像素值转化 dp -> px | Paint 标志位设置 | Paint 画笔线帽样式设置 | Paint 画笔线段连接处样式设置 )
一、绘制圆角矩形进度条、二、像素值转化 dp -> px、三、Paint 标志位设置、四、Paint 画笔线帽样式设置、五、Paint 画笔线段连接处样式设置、原创 2022-07-05 11:43:29 · 1639 阅读 · 0 评论 -
【Android UI】Path 测量 PathMeasure ⑤ ( PathMeasure#getSegment 函数 | 圆形进度条示例 )
一、PathMeasure#getSegment 函数、二、代码示例、三、执行效果原创 2022-06-08 22:11:08 · 837 阅读 · 0 评论 -
【Android UI】Path 测量 PathMeasure ④ ( 使用 PathMeasure 绘制沿曲线运动的图像并且其朝向始终向前 | 根据切点计算曲线运动的朝向 )
一、根据切点计算曲线运动的朝向、1、getPosTan 函数 ★、2、根据切点计算曲线运动的朝向、二、代码示例、三、运行效果、原创 2022-06-07 00:11:49 · 894 阅读 · 3 评论 -
【Android UI】Path 测量 PathMeasure ③ ( 使用 PathMeasure 绘制沿曲线运动的小球 )
一、使用 PathMeasure 绘制沿曲线运动的小球、二、代码示例、三、运行效果原创 2022-06-03 20:43:00 · 827 阅读 · 0 评论 -
【Android UI】Path 测量 PathMeasure ② ( PathMeasure API 简介 | nextContour 函数 | getPosTan 函数 ★ | 曲线切线处理 )
一、PathMeasure API 简介、1、nextContour 函数、2、getPosTan 函数 ★、原创 2022-06-02 23:42:27 · 803 阅读 · 0 评论 -
【Android UI】Path 测量 PathMeasure ① ( PathMeasure API 简介 | 无参构造函数 | 带参构造函数 | Path 闭合设置 | getLength 函数)
一、PathMeasure API 简介、1、无参构造函数、2、带参构造函数、3、getLength 函数原创 2022-06-02 20:16:09 · 794 阅读 · 0 评论 -
【Android UI】Paint ComposeShader 组合渲染 ( Shader 叠加模式 | Xfermode | PorterDuff.Mode | BlendMode )
一、ComposeShader 组合渲染、二、ComposeShader 组合渲染代码示例原创 2022-05-31 18:12:19 · 1380 阅读 · 0 评论 -
【Android UI】Paint Gradient 渐变渲染 ③ ( RadialGradient 环形渐变渲染 | 在给定中心和半径的情况下绘制径向渐变的着色器 | 水波纹效果 )
一、RadialGradient 环形渐变渲染、1、设置多个渐变颜色的构造函数、2、设置两个渐变颜色的构造函数、二、完整代码示例、1、设置多个渐变颜色的构造函数、2、设置两个渐变颜色的构造函数、三、效果展示原创 2022-05-31 14:55:25 · 1423 阅读 · 0 评论 -
【Android UI】Paint Gradient 渐变渲染 ② ( SweepGradient 梯度渐变渲染 | 围绕中心点绘制扫描渐变的着色器 | 多渐变色构造函数 | 雷达扫描效果 )
一、SweepGradient 梯度渐变渲染、1、设置多个渐变颜色的构造函数、2、设置两个渐变颜色的构造函数、二、完整代码示例、1、设置多个渐变颜色的构造函数、2、设置两个渐变颜色的构造函数、三、效果展示原创 2022-05-31 13:44:00 · 2085 阅读 · 1 评论 -
【Android UI】Paint Gradient 渐变渲染 ① ( LinearGradient 线性渐变渲染 | 设置渲染方向 | 设置渲染颜色 | 设置渲染模式 | MIRROR )
一、LinearGradient 线性渐变渲染、1、设置 2 个颜色的渐变、3、设置多个颜色的渐变、二、LinearGradient 线性渐变渲染重要参数分析、1、正常渲染、2、设置多个渐变颜色渲染、3、设置渲染方向、4、设置 Shader.TileMode.MIRROR 渲染模式、5、设置 Shader.TileMode.REPEAT 渲染模式、三、代码示例原创 2022-05-30 18:20:00 · 4411 阅读 · 1 评论 -
【Android 应用开发】Android 组件 位置坐标 属性 ( 组件位置属性 | 父容器坐标系坐标 | 窗口坐标系坐标 | 屏幕坐标系坐标 | 触摸坐标 )
I . View 坐标体系总结II . View 组件的 left , top , right , bottom 父容器相对位置III . View 组件的 x , y , translationX , translationY 属性IV . View 组件 窗口坐标 属性V . View 组件 屏幕坐标 属性VI . View 组件的触摸位置 属性VII . View 坐标获取 0 的解决方案原创 2020-04-29 23:18:28 · 1024 阅读 · 0 评论 -
【Android 应用开发】View 与 SurfaceView 区别
组件刷新所在线程性能 资源 操作主动更新与被动更新View , SurfaceView , GLSurfaceView原创 2019-08-24 21:22:15 · 612 阅读 · 0 评论 -
【Android 应用开发】UI绘制流程 ( 生命周期机制 | 布局加载机制 | UI 绘制流程 | 布局测量 | 布局摆放 | 组件绘制 | 瀑布流布局案例 )
文章目录一. Activity 启动流程1.(1)一. Activity 启动流程1.(1)原创 2018-11-21 09:54:29 · 1268 阅读 · 0 评论 -
【Android 应用开发】多点触控 ( 多点触控事件 | PointerId | PointerIndex | 坐标获取 | 触摸点个数 )
I . 多点触控事件II . PointerId 与 PointerIndex 简介III . 本次 PointerId 与 PointerIndex 获取IV . PointerId 与 PointerIndex 互相转化V . 触摸点个数获取 ( getPointerCount )VI . 触摸点坐标获取VII . 多点触控 示例代码 ( 参考 )原创 2020-02-08 00:03:26 · 3965 阅读 · 0 评论 -
【Android 应用开发】Canvas 精准绘制文字 ( 测量文本真实边界 | 将文本中心点与给定中心点对齐 )
一定要确定两个概念 , 下图 红色矩形框 的区域 是 绘图区域 , 下图 蓝色矩形框的区域 是文本区域 ;绘图区域 不等于 文本区域 , 文本一定在绘图区域中 , 但是具体在哪 , 不确定 , 可能在中心 , 可能在下方 , 可能在右上角 , 这是根据文本的特性确定的 , 如有的文本时 abcd 类型的 , 下方没有超出基线 , 有的文本属于 jqpy 类型的 , 下方超出基线了 , 还有可能有特殊符号如度数符号 , 百分号等 , 造成了真实文本与绘图区域的差异 ;绘图区域 与 真实文本区域 的差异原创 2021-11-17 20:34:49 · 1952 阅读 · 0 评论 -
【Android 应用开发】Canvas 精准绘制文字 ( 文本边界坐标解析 | 绘图位置 )
一、文本边界坐标解析、二、绘图位置、原创 2021-11-18 20:10:29 · 3029 阅读 · 1 评论 -
【Android 应用开发】Canvas 绘制文字 ( 文字尺寸测量 | 基线绘制 )
I . 文字尺寸测量II . 基线绘制原创 2020-03-09 21:20:24 · 2542 阅读 · 0 评论 -
【Android 应用开发】Paint 滤镜原理 之 图像结构 ( 图片文件二进制分析 | PNG文件结构 | 数据块结构 | IHDR 数据块详解 )
图形文件准备 ( PNG 文件 )PNG 文件信息分类数据块结构IHDR 数据块 简介IHDR 数据块 结构原创 2019-07-30 20:42:00 · 1685 阅读 · 0 评论 -
【Android 应用开发】Paint 滤镜 颜色矩阵 应用 ( 颜色矩阵使用流程 | 颜色通道值翻倍 | 颜色通道值增加 | 颜色反转 | 底片效果 | 黑白效果 | 复古效果 | 美颜效果 )
Paint 滤镜简单流程Paint 滤镜详细流程红色通道翻倍红色通道增加30底片效果底片效果黑白照片效果复古效果美颜效果原创 2019-08-01 22:36:33 · 914 阅读 · 0 评论 -
【Android 应用开发】Paint 滤镜原理 之 颜色矩阵 ( 颜色模式 | 颜色通道 | 颜色矩阵 | 矩阵运算 | 矩阵乘法 | 矩阵加法 | 颜色矩阵深入解析 )
颜色模式颜色通道Android 中的颜色矩阵矩阵乘法运算滤镜中的矩阵乘法运算矩阵加法运算滤镜中的矩阵乘法运算滤镜运算原理 ( 总结 )实际滤镜理论示例原创 2019-07-31 22:13:32 · 1147 阅读 · 0 评论 -
【Android 应用开发】Paint 图形组合 Xfermod 简介 ( 图形组合集合描述 | Xfermod 简介 | PorterDuff 简介 )
图形组合 集合描述Xfermod 简介PorterDuff 由来Xfermod 合成模式分类原创 2019-08-05 22:16:48 · 663 阅读 · 1 评论 -
【Android 应用开发】Paint 渲染 之 BitmapShader 位图渲染 ( 渲染流程 | CLAMP 拉伸最后像素 | REPEAT 重复绘制图片 | MIRROR 绘制反向图片 )
文章目录1. 位图渲染 BitmapShader 简介( 1 ) 位图渲染综述 ( ① 三种方式 : Shader.TileMode.CLAMP | Shader.TileMode.REPEAT | Shader.TileMode.MIRROR | ② 流程 : 创建 Shader | 设置 Shader 到 Paint | 打开抗锯齿 | 绘制矩形 )2. 位图渲染 BitmapShader...原创 2019-06-28 11:17:41 · 1809 阅读 · 0 评论 -
【Android 应用开发】Paint 图形组合 Xfermod 之 合成模式表示方法 ( Xfermod 使用步骤 | 透明度 颜色值 公式表示方法 | 老版本表示方法 | 合成区域分块 )
Xfermod 使用步骤合成方程 ( Compositing equations )老版本的表示方法合成模式 相关 区域原创 2019-08-06 15:04:03 · 770 阅读 · 1 评论