面试题总结-事件分发机制
程序员文章站
2022-07-03 12:47:05
1.事件分发的对象是谁?答:点击事件(Touch事件)定义:当用户触摸屏幕时(View 或 ViewGroup派生的控件),将产生Touch点击事件,Touch事件的相关细节(发生触摸的位置、时间等)被封装成MotionEvent对象。2.事件类型有哪些?(4种)3.什么是事件列?从手指接触屏幕至手指离开屏幕,这个过程产生的一系列事件,一般情况下,事件列都是以DOWN事件开始、UP事件结束,中间有无数的MOVE事件。即当一个点击事件(MotionEvent)产生后,系统需把这......
1.事件分发的对象是谁?
答:点击事件(Touch事件)
定义:当用户触摸屏幕时(View 或 ViewGroup派生的控件),将产生Touch点击事件,Touch事件的相关细节(发生触摸的位置、时间等)被封装成MotionEvent对象。
2.事件类型有哪些?(4种)
3.什么是事件列?
从手指接触屏幕至手指离开屏幕,这个过程产生的一系列事件,一般情况下,事件列都是以DOWN事件开始、UP事件结束,中间有无数的MOVE事件。即当一个点击事件(MotionEvent)产生后,系统需把这个事件(MotionEvent) 传递给一个具体的 View 去处理。
4.事件在哪些对象之间传递?
答: Android的UI界面由Activity、ViewGroup、View 及其派生类组成。
5.三个重要的事件分发方法:
① dispatchTouchEvent:作用是分发传递点击事件,当点击事件能够传递给当前的View的时候,该方法都会被调用;
② onInterceptTouchEvent:作用是拦截事件,只存在ViewGroup中,在ViewGroup的dispatchTouchEvent中调用,如果onInterceptTouchEvent 方法返回值是 true,那么事件不会再传递下去,就让当前view的ontouchEvent来处理
③ onTouchEvent:作用的是处理点击事件,返回true,说明这个View消费掉了这个事件。
6.事件分发的流程顺序?
本文地址:https://blog.csdn.net/luqingshuai_eloong/article/details/107457156
上一篇: jvm 基本结构