Android事件分发机制

1、事件分发的“事件”

答:点击事件(Touch事件)

定义:当用户触摸屏幕时候,将产生点击事件。

具体使用:Touch事件的相关细节会被封装成MotionEvent

事件类型:
MotionEvent.ACTION_DOWN 按下View
MotionEvent.ACTION_UP 抬起View
MotionEvent.ACTION_DOWN 滑动View
MotionEvent.ACTION_CANCEL 结束事件

附:事件列,即指从手指接触屏幕至手指离开屏幕这个过程产生的一系列事件。一般情况下,事件列都是以DOWN事件开始、UP事件结束,中间有无数的MOVE事件。

2、事件分发的本质

答:将点击事件传递到某个具体的View&处理的过程

即事件传递的过程=分发过程

3、事件在哪些对象之间进行传递?

答:Activity、ViewGroup、View

Android的UI界面由Activity、ViewGroup、View 及其派生类组成。

Activity:控制生命周期、处理事件,统筹视图的添加&显示,通过其他回调方法与Windows、View交互。

View:所有UI组件的基类,一般Button、TextView等控件都是继承父类View。

ViewGroup:一组View 的集合,本身也是View的子类,是Android所有布局的父类,ViewGroup实际上也是一个View,多了个可包含子View&定义布局参数的功能。

4、事件分发的顺序

Activity—>ViewGroup—>View
请添加图片描述

5、事件分发过程由哪些方法协作完成?

答:dispatchTouchEvent(),onInterceptTouchEvent()和onTouchEvent()

作用:
(1)dispatchTouchEvent():分发传递事件,当点击事件能传给当前View时调用。

(2)onTouchEvent():处理点击事件,在dispatchTouchEvent()内部调用。

(3)onInterceptTouchEvent():判断是否拦截了某个事件在ViewGroup的dispatchTouchEvent()内部调用。

6、事件分发机制流程

(1)Android事件分发机制首先会将点击事件传递到Activity中,具体是执行dispatchTouchEvent()进行事件分发。

请添加图片描述
核心方法:主要包括dispatchTouchEvent()、onTouchEvent()

未完待续。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值