⚽ 前言作为 Android 开发者,我们常常需要去管理非常多不同的资源文件,编译时这些资源文件会被统一地收集和整合到同一个包下面。根据官方的《Configure your build》文档介绍的构建过程可以总结这个过程:编译器会将源码文件转换成包含了二进制字节码、能运行在 Android 设备上的 DEX 文件,而其他文件则被转换成编译后资源。APK 打包工具则会将 DEX 文件和编译后资源组合
2022-12-09 michael007js 299
前言作为一名移动开发,我们对滑动冲突可以说是屡见不鲜。虽然Android已经提供了诸如NestedScrollView、CoordinatorLayout等支持嵌套滑动的组件,但其实并不能覆盖所有的滑动场景,我们终归会遇到需要自己去解决的滑动冲突。这篇文章将阐述如何处理常见的滑动冲突,而滑动冲突的处理本质上就是处理事件分发,所以我们从事件分发讲起,一步一步斩首滑动冲突。事件分发何为事件分发?事件指
2022-12-09 michael007js 280
0. 前言Android 缩放手势检测,ScaleGestureDetector 相关内容的用法和注意事项,本文依旧属于事件处理这一体系,在大多数的情况下,缩放手势都不是单独存在的,需要配合其它的手势来使用,所以推荐配合 手势检测(GestureDetector) 一起观看。如果是用在自定义的控件上,则需要配合 Matrix 相关内容使用起来可能会更加方便,如果对 Matrix 不太熟悉也可以看之
2022-12-09 michael007js 763
在开发 Android 手机应用过程中,可能需要对一些手势作出响应,如:单击、双击、长按、滑动、缩放等。这些都是很常用的手势。就拿最简单的双击来说吧,假如我们需要判断一个控件是否被双击(即在较短的时间内快速的点击两次),似乎是一个很容易的任务,但仔细考虑起来,要处理的细节问题也有不少,例如:记录点击次数,为了判断是否被点击超过 1 次,所以必须记录点击次数。记录点击时间,由于双击事件是较快速的点击
2022-12-09 michael007js 508
Android 多点触控详解,在前面的几篇文章中我们大致了解了 Android 中的事件处理流程和一些简单的处理方案,本次带大家了解 Android 多点触控相关的一些知识。多点触控 ( Multitouch,也称 Multi-touch ),即同时接受屏幕上多个点的人机交互操作,多点触控是从 Android 2.0 开始引入的功能,在 Android 2.2 时对这一部分进行了重新设计。在本文开
2022-12-09 michael007js 280
本文带大家了解 Android 特殊形状控件的事件处理方式,主要是利用了 Region 和 Matrix 的一些方法,超级实用的事件处理方案,相信看完本篇之后,任何奇葩控件的事件处理都会变得十分简单。不得不说,Android 对事件体系封装的非常棒,即便对事件体系不太了解的人,只要简单的调用方法就能使用,而且具有防呆设计,能够保证事件流的完整性和统一性,最大可能性的避免了事件处理的混乱,着实令人佩
2022-12-09 michael007js 103
Android MotionEvent 详解,之前用了两篇文章 事件分发机制原理 和 事件分发机制详解 来讲解事件分发,而作为事件分发主角之一的 MotionEvent 并没有过多的说明,本文就带大家了解 MotionEvent 的相关内容,简要介绍触摸事件,主要包括 单点触控、多点触控、鼠标事件 以及 getAction() 和 getActionMasked() 的区别。Android 将所有
2022-12-09 michael007js 310
Android 事件分发机制详解,在上一篇文章 事件分发机制原理 中简要分析了一下事件分发机制的原理,原理是十分简单的,一句话就能总结:责任链模式,事件层层传递,直到被消费。 虽然原理简单,但是随着 Android 不断的发展,实际运用场景也越来越复杂,所以想要彻底玩转事件分发机制还需要一定技巧,本篇事件分发机制详解将带大家了解 …你以为我接下来要讲源码? 我就不按套路,所有的源码都是为了适应具体
2022-12-09 michael007js 124