【知识梳理1】Android触摸事件机制

本文详细解析Android触摸事件机制,包括触摸事件的定义、事件三剑客(dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent)的作用,通过实际场景分析事件的分发与拦截过程,帮助读者深入理解Android界面事件处理。
摘要由CSDN通过智能技术生成

前言

随着科学技术的发展,智能手机早已成为我们当代人身边必不可少的“伙伴”之一,堪比对象女友。每天我们对着手机重复的做着点击滑动操作,而手机则随着我们的操作给我们展示她的精彩。

废话到此结束。

看到这里,即使不是作为移动端码农的你也应该知道触摸事件对手机(经典键盘机除外)的重要性了。

什么是触摸事件

顾名思义,就是触摸手机屏幕后产生的事件。这时候请你拿出手机,点击屏幕中的某个按钮(不要松手),移动一段距离,松手。
这个过程一般会产生如下几个事件:

  1. 点击(Down)事件
  2. 移动(Move)事件
  3. 松手(Up)事件

Android为我们封装好了一个触摸事件类MotionEvent,上述的三个过程分别对应着MotionEvent中的MotionEvent.ACTION_DOWNMotionEvent.ACTION_MOVEMotionEvent.ACTION_UP事件类型,我们可以以此来实现不同的逻辑,即事件的分发处理。所谓触摸事件的分发,实际上可以理解为MotionEvent事件的分发过程,即当一个MotionEvent产生了之后,系统需要把这个事件传递给一个具体的View,而这个传递的过程就是分发过程。

事件三剑客

一般事件的分发过程是由事件三剑客(方法)来共同完成的。

/**
 * 剑客一:用于事件的分发
 */
public boolean dispathTouchEvent(MotionEvent ev)

/**
 * 剑客二:在剑客一中被调用,用于事件的拦截
 */ 
public boolean onInterceptTouchEvent(MotionEvent ev)

/**
 * 剑客三:在剑客一中被调用,处理点击事件,true:消耗了当前事件  false:当前view无
 * 法再次接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值