5 johnyin2015

尚未进行身份认证

暂无相关简介

等级
TA的排名 57w+

安卓自定义View进阶-手势检测(GestureDetector)

Android 手势检测,主要是 GestureDetector 相关内容的用法和注意事项,本文依旧属于事件处理这一体系,部分内容会涉及到之前文章提及过的知识点,如果你没看过之前的文章,可以到自定义 View 系列来查看这些内容。在开发 Android 手机应用过程中,可能需要对一些手势作出响应,如:单击、双击、长按、滑动、缩放等。这些都是很常用的手势。就拿最简单的双击来说吧,假如我们需要...

2019-09-18 09:29:12

安卓自定义View进阶-多点触控详解

Android 多点触控详解,在前面的几篇文章中我们大致了解了 Android 中的事件处理流程和一些简单的处理方案,本次带大家了解 Android 多点触控相关的一些知识。多点触控(Multitouch,也称Multi-touch),即同时接受屏幕上多个点的人机交互操作,多点触控是从 Android 2.0 开始引入的功能,在 Android 2.2 时对这一部分进行了重新设计。...

2019-09-18 09:27:21

安卓自定义View进阶-特殊控件的事件处理方案

本文带大家了解 Android 特殊形状控件的事件处理方式,主要是利用了 Region 和 Matrix 的一些方法,超级实用的事件处理方案,相信看完本篇之后,任何奇葩控件的事件处理都会变得十分简单。不得不说,Android 对事件体系封装的非常棒,即便对事件体系不太了解的人,只要简单的调用方法就能使用,而且具有防呆设计,能够保证事件流的完整性和统一性,最大可能性的避免了事件处理的混乱,着实令...

2019-09-18 09:26:21

安卓自定义View进阶-MotionEvent详解

Android MotionEvent 详解,之前用了两篇文章事件分发机制原理和事件分发机制详解来讲解事件分发,而作为事件分发主角之一的 MotionEvent 并没有过多的说明,本文就带大家了解 MotionEvent 的相关内容,简要介绍触摸事件,主要包括 单点触控、多点触控、鼠标事件 以及 getAction() 和 getActionMasked() 的区别。Android 将...

2019-09-18 09:24:39

安卓自定义View进阶-事件分发机制详解

Android 事件分发机制详解,在上一篇文章事件分发机制原理中简要分析了一下事件分发机制的原理,原理是十分简单的,一句话就能总结:责任链模式,事件层层传递,直到被消费。虽然原理简单,但是随着 Android 不断的发展,实际运用场景也越来越复杂,所以想要彻底玩转事件分发机制还需要一定技巧,本篇事件分发机制详解将带大家了解 …你以为我接下来要讲源码?我就不按套路,所有的源码都是为了适...

2019-09-18 09:21:33

安卓自定义View进阶-事件分发机制原理

之前讲解了很多与View绘图相关的知识,你可以在安卓自定义View教程目录中查看到这些文章,如果你理解了这些文章,那么至少2D绘图部分不是难题了,大部分的需求都能满足,但是关于View还有很多知识点,例如:让绘图更加炫酷的Paint,让View动起来的动画,与用户交互的触控事件等一系列内容。本次就带大家简单的了解一下与交互息息相关的东西-事件分发原理。本次魔法小火车的终点站是事件分发...

2019-09-18 08:59:19

安卓自定义View进阶-Matrix Camera

本篇依旧属于Matrix,主要讲解Camera,Android下有很多相机应用,其中的美颜相机更是不少,不过今天这个Camera可不是我们平时拍照的那个相机,而是graphic包下的Camera,专业给View拍照的相机,不过既然是相机,作用都是类似的,主要是将3D的内容拍扁变成2D的内容。众所周知,我们的手机屏幕是一个2D的平面,所以也没办法直接显示3D的信息,因此我们看到的所有3D效果都是...

2019-09-18 08:58:00

安卓自定义View进阶-Matrix详解

这应该是目前最详细的一篇讲解Matrix的中文文章了,在上一篇文章Matrix原理中,我们对Matrix做了一个简单的了解,偏向理论,在本文中则会详细的讲解Matrix的具体用法,以及与Matrix相关的一些实用技巧。⚠️ 警告:测试本文章示例之前请关闭硬件加速。Matrix方法表按照惯例,先放方法表做概览。方法类别 相关API 摘要 基本方法 equal...

2019-09-18 08:55:47

安卓自定义View进阶-Matrix原理

本文内容偏向理论,和画布操作有重叠的部分,本文会让你更加深入的了解其中的原理。本篇的主角Matrix,是一个一直在后台默默工作的劳动模范,虽然我们所有看到View背后都有着Matrix的功劳,但我们却很少见到它,本篇我们就看看它是何方神圣吧。由于Google已经对这一部分已经做了很好的封装,所以跳过本部分对实际开发影响并不会太大,不想深究的粗略浏览即可,下一篇中将会详细讲解Matri...

2019-09-18 08:52:12

安卓自定义View进阶-Path之完结篇

经历过前两篇Path之基本操作和Path之贝塞尔曲线的讲解,本篇终于进入Path的收尾篇,本篇结束后Path的大部分相关方法都已经讲解完了,但Path还有一些更有意思的玩法,应该会在后续的文章中出现。一.Path常用方法表为了兼容性(偷懒) 本表格中去除了在API21(即安卓版本5.0)以上才添加的方法。忍不住吐槽一下,为啥看起来有些顺手就能写的重载方法要等到API21才添加上啊...

2019-09-18 08:50:31

安卓自定义View进阶-Path之贝塞尔曲线

在上一篇文章Path之基本操作中我们了解了Path的基本使用方法,本次了解Path中非常非常非常重要的内容-贝塞尔曲线。一.Path常用方法表为了兼容性(偷懒) 本表格中去除了在API21(即安卓版本5.0)以上才添加的方法。忍不住吐槽一下,为啥看起来有些顺手就能写的重载方法要等到API21才添加上啊。宝宝此刻内心也是崩溃的。作用 相关方法 备注 移动起点 m...

2019-09-18 08:46:24

安卓自定义View进阶-Path之基本操作

在上一篇Canvas之图片文字中我们了解了如何使用Canvas中绘制图片文字,结合前几篇文章,Canvas的基本操作已经差不多完结了,然而Canvas不仅仅具有这些基本的操作,还可以更加炫酷,本次会了解到path(路径)这个Canvas中的神器,有了这个神器,就能创造出更多炫(zhuang)酷(B)的东东了。一.Path常用方法表为了兼容性(偷懒) 本表格中去除了部分API21(即安卓版...

2019-09-18 08:43:22

安卓自定义View进阶-Canvas之图片文字

在上一篇文章Canvas之画布操作中我们了解了画布的一些基本操作方法,本次了解一些绘制图片文字相关的内容。如果你对前几篇文章讲述的内容熟练掌握的话,那么恭喜你,本篇结束之后,大部分的自定义View已经难不倒你了,当然了,这并不是终点,接下来还会有更加炫酷的技能。一.Canvas的常用操作速查表操作类型 相关API 备注 绘制颜色 drawColor, drawRGB,...

2019-09-18 08:41:36

安卓自定义View进阶-Canvas之画布操作

上一篇Canvas之绘制基本图形中我们了解了如何使用Canvas绘制基本图形,本次了解一些基本的画布操作。本来想把画布操作放到后面部分的,但是发现很多图形绘制都离不开画布操作,于是先讲解一下画布的基本操作方法。一.Canvas的常用操作速查表操作类型 相关API 备注 绘制颜色 drawColor, drawRGB, drawARGB 使用单一颜色填充整个画...

2019-09-18 08:39:13

安卓自定义View进阶-Canvas之绘制图形

在上一篇自定义View分类与流程中我们了解自定义View相关的基本知识,不过,这些东西依旧还是理论,并不能拿来(zhuang)用(B), 这一次我们就了解一些能(zhaung)用(B)的东西。在本篇文章中,我们先了解Canvas的基本用法,最后用一个小示例来结束本次教程。一.Canvas简介Canvas我们可以称之为画布,能够在上面绘制各种东西,是安卓平台2D图形绘制的基础,非常强大。...

2019-09-18 08:37:35

安卓自定义View进阶-分类与流程

本章节为什么要叫进阶篇?(虽然讲的是基础内容),因为从本篇开始,将会逐渐揭开自定义View的神秘面纱,每一篇都将比上一篇内容更加深入,利用所学的知识能够制作更加炫酷自定义View,就像在台阶上一样,每一篇都更上一层,帮助大家一步步走向人生巅峰,出任CEO,迎娶白富美。误,是帮助大家更加了解那些炫酷的自定义View是如何制作的,达到举一反三的效果。自定义View绘制流程函数调用链(简化版)...

2019-09-18 08:35:44

安卓自定义View基础-颜色

简要介绍安卓中的颜色相关内容,包括颜色的定义,创建颜色的几种方式,以及颜色的混合模式等。一.简单介绍颜色安卓支持的颜色模式:颜色模式 备注 ARGB8888 四通道高精度(32位) ARGB4444 四通道低精度(16位) RGB565 屏幕默认模式(16位) Alpha8 仅有透明通道(8位) PS:其中字母表示通道类型,数值表示该类...

2019-09-18 08:34:28

安卓自定义View基础-角度与弧度

安卓中角度(angle)与弧度(radian)的有关问题。一.前言1.为什么讲这个?在我们自定义View,尤其是制作一些复杂炫酷的效果的时候,实际上是将一些简单的东西通过数学上精密的计算组合到一起形成的效果。这其中可能会涉及到画布的相关操作(旋转),以及一些正余弦函数的计算等,这些内容就会用到一些角度、弧度相关的知识。2.为什么对角的描述存在角度与弧度两种单位?简单来说就是...

2019-09-18 08:32:53

安卓自定义View基础-坐标系

一.屏幕坐标系和数学坐标系的区别由于移动设备一般定义屏幕左上角为坐标原点,向右为x轴增大方向,向下为y轴增大方向, 所以在手机屏幕上的坐标系与数学中常见的坐标系是稍微有点差别的,详情如下:(PS:其中的∠a 是对应的,注意y轴方向!)实际屏幕上的默认坐标系如下:PS: 假设其中棕色部分为手机屏幕二.View的坐标系注意:View的坐标系统是相对于父控件而言的....

2019-09-18 08:27:06

安卓自定义View基础-开篇

书是要看的,但是看完了书没什么卵用——你依然对自定义View感觉朦朦胧胧,该如何下手?嗯,答案比较长,想要捷径可以直接看最后面。纸上得来终觉浅,绝知此事要躬行。(我这里并不是真的说看书没用,而是强调自定义View这种没有办法纸上谈兵)大概说下思路:首先,为什么需要自定义View?1. 现有的View满足不了你的需求,也没有办法从已有控件派生一个出来;界面元素需要自己绘制。2. 现有View...

2019-09-18 08:12:12
勋章 我的勋章
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。