UI交互与事件的分发机制 | 青训营笔记

109 阅读1分钟

这是我参与「第四届青训营 」笔记创作活动的的第5天

交互与事件的分发机制

1、常用交互事件监听器

e9b2137ed00d471ea1ca78340bb4e852tplv-k3u1fbpfcp-zoom-in-crop-mark3024000.awebp

2 、触摸事件

当用户触摸屏幕时(View或ViewGroup派生的控件),将产生点击事件 (Touch事件)。

Touch事件相关细节(发生触摸的位置、时间、历史记录、手势动作等) 被封装成MotionEvent对象

从手指接触屏幕至手指离开屏幕,这个过程产生的一系列事件 任何事 件列都是以DOWN事件开始,UP事件结束,中间有无数的MotionEvent事件.

image-20220817233718605.png

主要发生的Touch事件如下;

58ac73b6efe549578182d90d7d0d447btplv-k3u1fbpfcp-zoom-in-crop-mark3024000.awebp

3、 事件分发机制方法&流程介绍

事件分发过程由dispatchTouchEvent() 、onInterceptTouchEvent()和onTouchEvent()三个方法协助完成

Android事件分发流程如下:

Android事件分发顺序:Activity(Window) -> ViewGroup -> View

db32eef138a24231b31fa37033737128tplv-k3u1fbpfcp-zoom-in-crop-mark3024000.awebp

  • deafult:调用父类方法
  • true:消费事件,即事件不继续往下传递
  • false:不消费事件,事件也不继续往下传递 / 交由给父控件onTouchEvent() 处理

参考文章:juejin.cn/post/712271…