-
事件分发对象:MotionEvent
MotionEvent对象包含的事件类型即动作
ACTION_DOWN 按下、ACTION_MOVE 移动、ACTION_UP抬起、ACTION_CANCEL取消
事件序列:从手指按下屏幕开始,到手指离开屏幕所产生的的一系列事件。
App传递层级
Activity并不负责视图的控制,只控制生命周期和处理事件,控制视图的是Window窗口,Window包含一个DecorView, DecorView代表一个顶级View,Activity中setContentView设置的view是DecorViewd的子view.
Activity->Window->DecorView->ViewGroup->View
主要传递对象及顺序
Activity->ViewGroup->View
查看全部 -
源码查看的目的:
事件什么情况下被消费,什么情况下被传递
查看全部 -
事件分发
通过手指对屏幕的触摸开完成整个交互过程
用户通过屏幕与手机交互的时候,每一次点击、长按、移动等都是一个事件
事件分发机制:某一个事件从屏幕传递各个View,由View来使用这一事件(消费事件)或者忽略这一事件(不消费事件),这整个过程的控制。
查看全部 -
事件的类型
按下(ACTION_DOWN)
移动(ACTION_MOVE)
抬起 (ACTION_UP)
取消(ACTION_CANCEL)
事件序列
从手指按下屏幕开始,到手指离开屏幕所产生的一系列事件
传递层级
Activity->Window->DecorView->ViewGroup->View
主要传递对象及顺序
Activity、ViewGroup、View
查看全部 -
View的事件分发流程图。
查看全部 -
如果当前不是按下事件,且mFirstTouchTarget为null(不存在处理事件的子View),则不调用onInterceptTouchEvent()方法。
查看全部 -
mFirstTouchTarget不为null,表示当前的ViewGroup没有拦截事件,并交给了子View处理。
查看全部 -
split为true时,表示重叠的子视图都可以接收到触摸事件。
查看全部 -
安全策略onFilterTouchEventForSecurity():如果当前的View不在视图顶部,且被设置了不在顶部就不响应触摸事件的话,那么该方法返回false,不分发触摸事件。
查看全部 -
ViewGroup事件分发流程图。
查看全部 -
路路通萝莉查看全部
-
Activity的事件分发流程图。
查看全部 -
Window是个抽象类,它唯一的实现类是PhoneWindow。查看全部
-
onUserInteraction在手指按下时会立即调用,可以通过重写该方法监听整个触摸事件的开始。
查看全部 -
传递的层级。查看全部
举报