我的博客

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

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

    2022-12-09 michael007js 343

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

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

    2022-12-09 michael007js 145

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

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

    2022-12-09 michael007js 391

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

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

    2022-12-09 michael007js 182

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

    注意:本文中所有源码分析部分均基于 API23(Android 6.0) 版本,由于安卓系统源码改变很多,可能与之前版本有所不同,但基本流程都是一致的。为什么要有事件分发机制?安卓上面的View是树形结构的,View可能会重叠在一起,当我们点击的地方有多个View都可以响应的时候,这个点击事件应该给谁呢?为了解决这一个问题,就有了事件分发机制。如下图,View是一层一层嵌套的,当手指点击 View

    2022-12-09 michael007js 162

  • 安卓自定义View进阶-PathMeasure

    本篇主要讲解 PathMeasure 这个类与 Path 的一些使用技巧。PS:不要问我为什么不讲 PathEffect,因为这个方法在后面的Paint系列中。先放一个图镇楼,省的下面无聊的内容把你们都吓跑了Σ( ̄。 ̄ノ)ノ## Path & PathMeasure顾名思义,PathMeasure是一个用来测量Path的类,主要有以下方法:构造方法方法名释义PathMeasure()创建一

    2022-12-08 michael007js 164

  • Android的硬件加速及可能导致的问题

    硬件加速Android 3.0 (API level 11), 开始支持 所有的View 的canvas都会使用GPU,但是硬件的加速会占有一定的RAM。 在API >= 14上,默认是开启的,如果你的应用只是标准的View和Drawable,全局都打开硬件加速,是不会有任何问题的。 然而,硬件加速并不支持所有的2D画图的操作,这时开着它,可能会影响到你的自定义控件或者绘画,出现异常等行为,

    2022-12-08 michael007js 513

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

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

    2022-12-08 michael007js 168

首页
关于博主
我的博客
搜索