触摸事件的总结(
2018-04-10 18:43
169 查看
/**总结: 1. 1.1 dispatchTouchEvent事件分发这个每个都有(无论是View 还是viewgrope,以及Activity) 这个是用来处理是否分发事件(这个总是会被执行的前提是父控件没有拦截或者进行分发了) 如果这里就取消事件分发则无法响应本次触摸(以后的 onInterceptTouchEvent或者 onTouchEvent都不会执行包括父控件的) 1.2 onTouchEvent事件分发这个每个都有(无论是View 还是viewgrope,以及Activity) 用来处理自己的触摸事件,如果自己返回true则不再给下面的子view分发触摸事件 1.3 onInterceptTouchEvent这个是是否拦截事件(只有ViewGrope才有) 拦截触摸事件的,如果dispatchTouchEvent是同意的则可以通过这个来拦截不再给子view分发 2. 如果dispatchTouchEvent为false也就是可以往下给子view分发事件, 但是onInterceptTouchEvent拦截true的时候讲不会再给子view了, 包括onTouchEvent处理了事件任意一个为也就是, 3.dispatchTouchEvent true连自己的响应都不会有,也没有自己的拦截 4. super.dispatchTouchEvent(ev);并不会和false相等, 如果是flase,子view也不会得到事件分发的处理(如果自己不想拦截处理最好用super,毕竟你不想处理父类还有要处理的东西呢) 以上是个人总结如果有问题或者错误希望大家指导,以下是测试部分的响应日志: //标准:Activity->LinearLayout->TextView (布局就是LinearLayout里面一个TextView) dispatchTouchEvent:Activity 事件分发 dispatchTouchEvent:LinearLayout 事件分发 onInterceptTouchEvent:LinearLayout 拦截 dispatchTouchEvent:TextView 事件分发 onTouchEvent: TextView事件响应 onTouchEvent: LinearLayout事件响应 onTouchEvent: Activity事件响应 dispatchTouchEvent:Activity 事件分发 onTouchEvent: Activity事件响应 */ /* 拦截后dispatchTouchEvent:Activity 事件分发 dispatchTouchEvent:LinearLayout 事件分发 onInterceptTouchEvent:LinearLayout 拦截 onTouchEvent: LinearLayout事件响应 onTouchEvent: Activity事件响应 dispatchTouchEvent:Activity 事件分发 onTouchEvent: Activity事件响应*/ /** dispatchTouchEvent true后(不在进行事件分发) dispatchTouchEvent:Activity 事件分发 dispatchTouchEvent:LinearLayout 事件分发 dispatchTouchEvent:Activity 事件分发 dispatchTouchEvent:LinearLayout 事件分发 dispatchTouchEvent:Activity 事件分发 dispatchTouchEvent:LinearLayout 事件分发 */ /** * Touch true后 dispatchTouchEvent:Activity 事件分发 dispatchTouchEvent:LinearLayout 事件分发 onInterceptTouchEvent:LinearLayout 拦截 dispatchTouchEvent:TextView 事件分发 onTouchEvent: TextView事件响应 onTouchEvent: LinearLayout事件响应 dispatchTouchEvent:Activity 事件分发 dispatchTouchEvent:LinearLayout 事件分发 onTouchEvent: LinearLayout事件响应 dispatchTouchEvent:Activity 事件分发 dispatchTouchEvent:LinearLayout 事件分发 onTouchEvent: LinearLayout事件响应 */ /*onInterceptTouchEvent 和Touch为true dispatchTouchEvent:Activity 事件分发 dispatchTouchEvent:LinearLayout 事件分发 onInterceptTouchEvent:LinearLayout 拦截 onTouchEvent: LinearLayout事件响应 dispatchTouchEvent:Activity 事件分发 dispatchTouchEvent:LinearLayout 事件分发 onTouchEvent: LinearLayout事件响应 dispatchTouchEvent:Activity 事件分发 dispatchTouchEvent:LinearLayout 事件分发 onTouchEvent: LinearLayout事件响应*/
相关文章推荐
- 【Android】触摸事件相关方法总结
- Android笔记:触摸事件的分析与总结----多点触控 推荐
- 【学习总结】触摸事件的总结
- 移动端触摸事件总结
- Ios-UI高级 触摸事件的相关总结
- scrollView和viewFlipper一同使用时触摸事件失灵的总结
- android触摸事件传递机制以及onInterceptTouchEvent()和onTouchEvent()总结
- Android触摸事件分发机制总结
- 安卓触摸事件分发经验总结
- iOS触摸事件总结
- 阶段性总结⓵触摸事件&手势识别⓶Quartz2D绘图⓷CALayer图层⓸CAAnimation⓹UIDynamic UI动力学⓺KVC&KVO
- cocos2d-x3.2关于触摸事件的总结
- Android笔记:触摸事件的分析与总结----TouchEvent处理机制
- Android触摸屏幕事件总结
- 触摸事件的分析与总结----TouchEvent处理机制
- 触摸事件分发机制总结
- Android触摸事件总结
- 【转】Android笔记:触摸事件的分析与总结----Touch事件分发方法dispatchTouchEvent()源码分析
- Android 向系统发送多点触摸事件总结
- cocos2d-x 3.0 动画与触摸事件总结