android中的Touch触摸事件传递机制

三个相关方法

  1. public boolean dispatchTouchEvent(MotionEvent ev)
    这个方法用来分发TouchEvent

  2. public boolean onInterceptTouchEvent(MotionEvent
    ev) 这个方法用来拦截TouchEvent

  3. public boolean onTouchEvent(MotionEvent ev)
    这个方法用来处理TouchEvent

当 TouchEvent发生时,首先Activity将TouchEvent事件通过dispatchTouchEvent方法传递给父view
1,父view通过dispatchTouchEvent方法分发事件传递给InterceptTouchEvent:
(1)如果返回true ,则交给这个父view的onTouchEvent响应。
(2)如果返回false,则交给子view的 dispatchTouchEvent方法处理。
2,事件传递到子view的 dispatchTouchEvent方法中,通过分发方法传递到当前view的onTouchEvent方法中:

(1)如果返回true,那么这个事件就会在该view上响应并结束。(2)如果返回 false ,那么这个事件会从这个子view往上传递,而且都是传递到父View的onTouchEvent 来接收。(3)如果传递到ViewGroup的 onTouchEvent 也返回 false 的话,则继续传递到Activity的onTouchEvent中,如果还是false,则这个事件就会被响应,然后消失;事件向上传递到中间的任何onTouchEvent方法中,如果返回true,则事件被响应,不会再传递。

更多相关文章

  1. Android(安卓)实现部分文字高亮的三种方法
  2. 14 Android(安卓)android 按钮效果的两种实现方法
  3. Android链式方法显示Dialog
  4. Android(安卓)SQLite数据库
  5. [Android(安卓)Pro] android 杀死进程的方法
  6. Android(安卓)TextView支持的HTML标签
  7. Android(安卓)Studio3.3部分断点不生效解决方法
  8. Android(安卓)Activity之间跳转出现短暂黑屏的处理方法(转)
  9. Android(安卓)横向选择器(HorizontalPickerView.java)

随机推荐

  1. 20145328 《Java程序设计》实验四实验报
  2. Android(安卓)高仿抖音双击点赞效果
  3. PermissionsDispatcher动态权限申请
  4. Android加载图片出现内存溢出攻略
  5. Android(安卓)Studio插件Gsonformat使用
  6. Android笔记汇总
  7. Android(安卓)ApiDemos示例解析(55):Grap
  8. Android(安卓)P版本编译出现报错ninja: b
  9. Android(安卓)性能优化的一些方法
  10. android:imeOptions="actionDone"