android触摸事件的分发和处理

本文详细介绍了Android触摸事件的分发和处理流程,从down、move到up动作,阐述了事件如何在Activity、LinearLayout及Button控件间传递。在事件分发过程中,重点讲解了dispatchTouchEvent和onTouchEvent的角色,以及如何确定事件的消费者和最终的响应方法。
摘要由CSDN通过智能技术生成

这两天学习了下Android触摸事件。
记录下:
首先对事件的理解如下。
一个事件由down move up 三个动作组成,其中move动作可以有多个或者0个,但down 和up动作有且只有一个。这个三个动作中down是最先响应的,它是先驱,由它来决定move和up动作响应路线。

以event对象为主线,对事件分发和响应整个流程理解如下:
(前提是在一个Activity,一个LinearLayout布局里包含了一个Button控件的实验中得出理解)

第一步:生成event对象。
触摸屏幕后系统自动将down等动作封装成一个event对象来进行分发传递,此对象包括此次动作的所用信息,如时间,位置坐标等。

第二步:分发event对象。
1、系统会调当前Acitivity的dispatchTouchEvent方法,开始进行事件分发。此方法直接调用super.dispatchTouchEvent(ev)由父Acitivity来分发;
2、由调试信息可知,调用布局文件里面的LinearLayout类的dispatchTouchEvent方法来
继续分发此事件。此方法也是直接调用super.dispatchTouchEvent(ev)交

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值