Activity 负责生命周期和处理事件。
Window负责视图的控制。
一个Activity包含了一个Window, 一个Window才真正代表了一个窗口。
Window包含了一个顶级的View -> DecorView
Activity中setContentView的视图就是DecorView的子元素。
所有的事件都要经过DecorView才会传递给我们的View。
传递层级:Activity->Window->DecorView->ViewGroup->View
事件传递的三个主要对象:Activity、ViewGroup、View
事件序列:从手指按下屏幕开始,到手指离开屏幕所产生的一系列事件。
传递层级:Activity->Window->DecorView->ViewGroup->View
View 事件传递


事件产生的时候会有这些类型,可以想象下手指在屏幕中的活动
按下-移动-抬起,存在这样一个固定的规律,移动可以不存在

安卓中存在的这样一个基本的层级关系和传递层级

系统把事件封装为MotionEvent对象,事件分发的过程就是MotionEvent分发的过程。
事件序列:从手指按下屏幕开始,到手指离开屏幕所产生的一系列事件。
系统把事件封装为MotionEvent对象,事件分发的过程就是MotionEvent分发的过程。
事件序列:从手指按下屏幕开始,到手指离开屏幕所产生的一系列事件。
事件分发对象: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
事件的类型
按下(ACTION_DOWN)
移动(ACTION_MOVE)
抬起 (ACTION_UP)
取消(ACTION_CANCEL)
事件序列
从手指按下屏幕开始,到手指离开屏幕所产生的一系列事件
传递层级
Activity->Window->DecorView->ViewGroup->View
主要传递对象及顺序
Activity、ViewGroup、View
事件的类型。
事件分发的对象:MotionEvent。
事件传递过程.
传递顺序:activiyt window decorView viewGroup view
传递层级,最终传到View,按子类继承顺序分发
首先在Activity上,传递给其所持有的Window,然后给window所持有的DecorView,接着按父子继承关系,依次传递给ViewGroup和View
传递层级
Activity->Window->DecorView->ViewGroup->View
这里的DecorView就是Window所持有的DecorView,而DecorView又继承自ViewGroup,事件从ViewGroup中进行一个分发,然后才会分发到我们创建的一个个子的ViewGroup和View上面
事件序列:
从手指按下屏幕开始,到手指离开屏幕所产生的一系列事件。
事件的类型
1.按下(ACTION_DOWN)
手指刚接触到屏幕的时候,也就是手指按下的动作
2.移动(ACTION_MOVE)
手指在屏幕上去进行移动的一个动作,发生在手指按下之后,不包含按下这个动作,按下这个事件属于移动的前驱事件
3.抬起(ACTION_UP)
手指抬起的动作
4.取消(ACTION_CANCEL)
表示事件的取消。例如,一个ScrollView上有一个Button,按下Button,这个时候Button是可以接收到按下这个事件的。而这个时候,手指不去直接抬起,而是上下滑动,Button的父容器ScrollView就会拦截这个事件,同时Button上就会接收到ACTION_CANCEL这个事件。
事件分发的对象是谁?
系统把事件封装为MotionEvent对象,事件分发的过程就是MotionEvent分发的过程。
android傳遞層級
請輸入筆記內容...
事件传递的层级
事件分发对象: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
主要传递对象及顺序
传递层级~
什么是事件序列?
事件的类型有4种
事件分发的对象是谁?