
自定义view
惟恋惜
不忘初心,方得始终。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
安卓自定义View进阶-Path之基本操作
在上一篇Canvas之图片文字中我们了解了如何使用Canvas中绘制图片文字,结合前几篇文章,Canvas的基本操作已经差不多完结了,然而Canvas不仅仅具有这些基本的操作,还可以更加炫酷,本次会了解到path(路径)这个Canvas中的神器,有了这个神器,就能创造出更多炫(zhuang)酷(B)的东东了。一.Path常用方法表 为了兼容性(偷懒) 本表格中去除了部分API21(即安卓版本5.转载 2018-03-14 14:35:56 · 191 阅读 · 0 评论 -
安卓自定义View进阶-事件分发机制详解
Android 事件分发机制详解,在上一篇文章 事件分发机制原理 中简要分析了一下事件分发机制的原理,原理是十分简单的,一句话就能总结:责任链模式,事件层层传递,直到被消费。 虽然原理简单,但是随着 Android 不断的发展,实际运用场景也越来越复杂,所以想要彻底玩转事件分发机制还需要一定技巧,本篇事件分发机制详解将带大家了解 … 你以为我接下来要讲源码?我就不按套路,所有的源码都是为了适应转载 2018-03-30 09:22:55 · 166 阅读 · 0 评论 -
安卓自定义View进阶-MotionEvent详解
Android MotionEvent 详解,之前用了两篇文章 事件分发机制原理 和 事件分发机制详解 来讲解事件分发,而作为事件分发主角之一的 MotionEvent 并没有过多的说明,本文就带大家了解 MotionEvent 的相关内容,简要介绍触摸事件,主要包括 单点触控、多点触控、鼠标事件 以及 getAction() 和 getActionMasked() 的区别。Andr...转载 2018-03-31 15:20:12 · 650 阅读 · 0 评论 -
安卓自定义View进阶-Matrix详解
这应该是目前最详细的一篇讲解Matrix的中文文章了,在上一篇文章Matrix原理中,我们对Matrix做了一个简单的了解,偏向理论,在本文中则会详细的讲解Matrix的具体用法,以及与Matrix相关的一些实用技巧。 ⚠️ 警告:测试本文章示例之前请关闭硬件加速。Matrix方法表按照惯例,先放方法表做概览。 方法类别 相关API 摘要转载 2018-03-26 15:12:09 · 278 阅读 · 0 评论 -
安卓自定义View进阶-Matrix原理
本文内容偏向理论,和 画布操作 有重叠的部分,本文会让你更加深入的了解其中的原理。本篇的主角Matrix,是一个一直在后台默默工作的劳动模范,虽然我们所有看到View背后都有着Matrix的功劳,但我们却很少见到它,本篇我们就看看它是何方神圣吧。 由于Google已经对这一部分已经做了很好的封装,所以跳过本部分对实际开发影响并不会太大,不想深究的粗略浏览即可,下一篇中将会详细讲解Matrix的具转载 2018-03-22 11:31:17 · 263 阅读 · 0 评论 -
安卓自定义View进阶-特殊控件的事件处理方案
本文带大家了解 Android 特殊形状控件的事件处理方式,主要是利用了 Region 和 Matrix 的一些方法,超级实用的事件处理方案,相信看完本篇之后,任何奇葩控件的事件处理都会变得十分简单。不得不说,Android 对事件体系封装的非常棒,即便对事件体系不太了解的人,只要简单的调用方法就能使用,而且具有防呆设计,能够保证事件流的完整性和统一性,最大可能性的避免了事件处理的混乱,着实令人佩服转载 2018-04-02 15:32:09 · 334 阅读 · 0 评论 -
安卓自定义View进阶-Matrix Camera
本篇依旧属于Matrix,主要讲解Camera,Android下有很多相机应用,其中的美颜相机更是不少,不过今天这个Camera可不是我们平时拍照的那个相机,而是graphic包下的Camera,专业给View拍照的相机,不过既然是相机,作用都是类似的,主要是将3D的内容拍扁变成2D的内容。众所周知,我们的手机屏幕是一个2D的平面,所以也没办法直接显示3D的信息,因此我们看到的所有3D效果都是3D在转载 2018-03-28 09:23:29 · 561 阅读 · 0 评论 -
安卓自定义View进阶-多点触控详解
Android 多点触控详解,在前面的几篇文章中我们大致了解了 Android 中的事件处理流程和一些简单的处理方案,本次带大家了解 Android 多点触控相关的一些知识。多点触控 ( Multitouch,也称 Multi-touch ),即同时接受屏幕上多个点的人机交互操作,多点触控是从 Android 2.0 开始引入的功能,在 Android 2.2 时对这一部分进行了重新设计。在本文开始转载 2018-04-03 14:36:30 · 230 阅读 · 0 评论 -
安卓自定义View进阶-事件分发机制原理
之前讲解了很多与View绘图相关的知识,你可以在 安卓自定义View教程目录 中查看到这些文章,如果你理解了这些文章,那么至少2D绘图部分不是难题了,大部分的需求都能满足,但是关于View还有很多知识点,例如: 让绘图更加炫酷的Paint,让View动起来的动画,与用户交互的触控事件 等一系列内容。本次就带大家简单的了解一下与交互息息相关的东西-事件分发原理。 本次魔法小火车的终点站是事件分发,转载 2018-03-29 10:12:38 · 163 阅读 · 0 评论 -
安卓自定义View进阶-PathMeasure
可以看到,在经过 Path之基本操作Path之贝塞尔曲线 和 Path之完结篇 后, Path中各类方法基本上都讲完了,表格中还没有讲解到到方法就是矩阵变换了,难道本篇终于要讲矩阵了?非也,矩阵这一部分仍在后面单独讲解,本篇主要讲解 PathMeasure 这个类与 Path 的一些使用技巧。 PS:不要问我为什么不讲 PathEffect,因为这个方法在后面的Paint系列中。先放一转载 2018-03-20 14:02:19 · 235 阅读 · 0 评论 -
安卓自定义View进阶-Canvas之图片文字
在上一篇文章Canvas之画布操作中我们了解了画布的一些基本操作方法,本次了解一些绘制图片文字相关的内容。如果你对前几篇文章讲述的内容熟练掌握的话,那么恭喜你,本篇结束之后,大部分的自定义View已经难不倒你了,当然了,这并不是终点,接下来还会有更加炫酷的技能。一.Canvas的常用操作速查表 操作类型 相关API 备注转载 2018-03-12 11:39:27 · 219 阅读 · 0 评论 -
安卓自定义View基础-坐标系
一.屏幕坐标系和数学坐标系的区别由于移动设备一般定义屏幕左上角为坐标原点,向右为x轴增大方向,向下为y轴增大方向,所以在手机屏幕上的坐标系与数学中常见的坐标系是稍微有点差别的,详情如下:(PS:其中的∠a 是对应的,注意y轴方向!)实际屏幕上的默认坐标系如下: PS: 假设其中棕色部分为手机屏幕二.View的坐标系注意:View的坐标系统是相对于父控件而言的.getTop();转载 2018-03-07 09:55:27 · 186 阅读 · 0 评论 -
安卓自定义View基础-角度与弧度
安卓中角度(angle)与弧度(radian)的有关问题。一.前言1.为什么讲这个?在我们自定义View,尤其是制作一些复杂炫酷的效果的时候,实际上是将一些简单的东西通过数学上精密的计算组合到一起形成的效果。这其中可能会涉及到画布的相关操作(旋转),以及一些正余弦函数的计算等,这些内容就会用到一些角度、弧度相关的知识。2.为什么对角的描述存在角度与弧度两种单位?简单来说就是为了方便,为了精确描述一个转载 2018-03-07 13:56:51 · 172 阅读 · 0 评论 -
安卓自定义View基础-颜色
简要介绍安卓中的颜色相关内容,包括颜色的定义,创建颜色的几种方式,以及颜色的混合模式等。一.简单介绍颜色安卓支持的颜色模式: 颜色模式 备注 ARGB8888 四通道高精度(32位) ARGB4444 四通道低精度(16位) RG转载 2018-03-07 15:52:41 · 201 阅读 · 0 评论 -
安卓自定义View进阶-分类与流程
本章节为什么要叫进阶篇?(虽然讲的是基础内容),因为从本篇开始,将会逐渐揭开自定义View的神秘面纱,每一篇都将比上一篇内容更加深入,利用所学的知识能够制作更加炫酷自定义View,就像在台阶上一样,每一篇都更上一层,帮助大家一步步走向人生巅峰,出任CEO,迎娶白富美。 误,是帮助大家更加了解那些炫酷的自定义View是如何制作的,达到举一反三的效果。自定义View绘制流程函数调用链(简化版)一.自定义转载 2018-03-07 17:00:23 · 184 阅读 · 0 评论 -
安卓自定义View进阶-Canvas之绘制图形
在上一篇自定义View分类与流程中我们了解自定义View相关的基本知识,不过,这些东西依旧还是理论,并不能拿来(zhuang)用(B), 这一次我们就了解一些能(zhaung)用(B)的东西。在本篇文章中,我们先了解Canvas的基本用法,最后用一个小示例来结束本次教程。一.Canvas简介Canvas我们可以称之为画布,能够在上面绘制各种东西,是安卓平台2D图形绘制的基础,非常强大。一般来说,比较转载 2018-03-08 15:36:24 · 214 阅读 · 0 评论 -
安卓自定义View进阶-Canvas之画布操作
上一篇Canvas之绘制基本图形中我们了解了如何使用Canvas绘制基本图形,本次了解一些基本的画布操作。本来想把画布操作放到后面部分的,但是发现很多图形绘制都离不开画布操作,于是先讲解一下画布的基本操作方法。一.Canvas的常用操作速查表 操作类型 相关API 备注 绘制颜色 drawCo转载 2018-03-09 15:41:47 · 208 阅读 · 0 评论 -
安卓自定义View进阶-Path之贝塞尔曲线
在上一篇文章Path之基本操作中我们了解了Path的基本使用方法,本次了解Path中非常非常非常重要的内容-贝塞尔曲线。一.Path常用方法表 为了兼容性(偷懒) 本表格中去除了在API21(即安卓版本5.0)以上才添加的方法。忍不住吐槽一下,为啥看起来有些顺手就能写的重载方法要等到API21才添加上啊。宝宝此刻内心也是崩溃的。 作用 相关方法转载 2018-03-16 09:59:38 · 169 阅读 · 0 评论 -
安卓自定义View进阶-Path之完结篇
经历过前两篇 Path之基本操作 和 Path之贝塞尔曲线 的讲解,本篇终于进入Path的收尾篇,本篇结束后Path的大部分相关方法都已经讲解完了,但Path还有一些更有意思的玩法,应该会在后续的文章中出现。一.Path常用方法表 为了兼容性(偷懒) 本表格中去除了在API21(即安卓版本5.0)以上才添加的方法。忍不住吐槽一下,为啥看起来有些顺手就能写的重载方法要等到API21才添加上啊。宝宝转载 2018-03-16 10:04:41 · 1096 阅读 · 0 评论 -
安卓自定义View进阶-手势检测(GestureDecetor)
Android 手势检测,主要是 GestureDetector 相关内容的用法和注意事项,本文依旧属于事件处理这一体系,部分内容会涉及到之前文章提及过的知识点,如果你没看过之前的文章,可以到 自定义 View 系列 来查看这些内容。在开发 Android 手机应用过程中,可能需要对一些手势作出响应,如:单击、双击、长按、滑动、缩放等。这些都是很常用的手势。就拿最简单的双击来说吧,假如我们需要判断一转载 2018-04-04 16:46:44 · 1195 阅读 · 0 评论