Android 事件分发机制

【事件分发】:public boolean dispatchTouchEvent(MotionEvent ev)
「分发顺序」:Activity -> ViewGroup -> view

【事件拦截】:public boolean onInterceptTouchEvent(MotionEvent ev)

【事件消费】:public boolean onTouchEvent(MotionEvent event)
「消费顺序(响应顺序)」: view -> ViewGroup -> Activity

事件分发业务流程说明图( 1 )

「Android 进阶」Android 事件分发机制_第1张图片

备注:

  1. dispatchTouchEvent和 onTouchEvent的框里有个【true—->消费】的字,表示的意思是如果方法返回true,那么代表事件就此消费,不会继续往别的地方传了,事件终止
  2. 图的事件是针对ACTION_DOWN
  3. 事件拦截 onInterceptTouchEvent(MotionEvent ev) ,true 表示拦截,表示事件不在向下分发,falsesuper.onInterceptTouchEvent(ev) 继续向下分发事件;

事件分发业务流程说明图( 2 )

「Android 进阶」Android 事件分发机制_第2张图片
参考文章:
1. 图解 Android 事件分发机制
2. Android 事件分发demo

更多相关文章

  1. checkbox 与listview 点击事件冲突
  2. AndroidAndroid程序提示和消息button响应事件
  3. Android进阶——Android视图工作机制之measure、layout、draw
  4. android监听软键盘退格(删除)事件
  5. android中点击事件的4种写法
  6. 点击事件
  7. Android窗口机制
  8. Android ListView CheckBox点击事件
  9. Android 的运行机制

随机推荐

  1. Unity发布IPA并真机测试的设置与连接
  2. 关于Android的主流网络请求框架(Okhttp 3
  3. android:两个进程之间通过AIDL进行通信
  4. 腾讯优测优分享 | Android碎片化问题小结
  5. Android小应用——监控屏幕使用时间
  6. Android热修复和插件化(初识篇)
  7. 别再抱怨了,国内这么多优秀的Android资源
  8. Android(安卓)内功心法(1.6)——android
  9. 微软:WP不会授权给小OEM商以及山寨厂商
  10. Android中 3D 圆形旋转动态实现