Activity dispatchTouchEvent事件过程分析(预览篇)
来源:互联网 发布:箭牌官方旗舰店 知乎 编辑:程序博客网 时间:2024/06/10 06:49
主界面的整体效果如上。
其中Layout布局如下
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center"> <miss.goddess.touchdispatch.view.TextViewExt android:layout_width="100dip" android:layout_height="100dip" android:background="#ccc" android:padding="50dip" android:text="@string/hello_world"/></LinearLayout>
--------------------------------------------------------------------------------
Activity覆盖了两个方法
@Overridepublic boolean dispatchTouchEvent(MotionEvent event) {Log.d("touch:activity-dispatch", EventName.getName(event));return super.dispatchTouchEvent(event);}@Overridepublic boolean onTouchEvent(MotionEvent event) {Log.d("touch:activity-onTouch", EventName.getName(event));return super.onTouchEvent(event);}TextViewExt主要覆盖了onTouchEvent方法
public class TextViewExt extends TextView {public TextViewExt(Context context, AttributeSet attrs) {super(context, attrs);}@Overridepublic boolean onTouchEvent(MotionEvent event) {Log.d("touch:view", EventName.getName(event));return super.onTouchEvent(event);}}开始测试
-----------------------------------------------------------------------------------------------------
分两种情况触摸屏幕
1、 滑动轨迹【A-O-B】
打印的日志如下
06-04 14:40:03.950: D/touch:activity-dispatch(14390): ACTION_DOWN---06-04 14:40:03.960: D/touch:activity-onTouch(14390): ACTION_DOWN---06-04 14:40:04.060: D/touch:activity-dispatch(14390): ACTION_MOVE06-04 14:40:04.060: D/touch:activity-onTouch(14390): ACTION_MOVE。。。。。。。。。。。。。。。。。。。。(省略)06-04 14:40:04.550: D/touch:activity-dispatch(14390): ACTION_MOVE06-04 14:40:04.550: D/touch:activity-onTouch(14390): ACTION_MOVE06-04 14:40:04.600: D/touch:activity-dispatch(14390): ACTION_UP06-04 14:40:04.600: D/touch:activity-onTouch(14390): ACTION_UP
可以发现。TextViewExt的onTouch事件根本不会执行
所有的touch事件都被Activity拦截
2、 滑动轨迹【O-B】
06-04 14:49:29.380: D/touch:activity-dispatch(14390): ACTION_DOWN---06-04 14:49:29.380: D/touch:view(14390): ACTION_DOWN---06-04 14:49:29.380: D/touch:activity-onTouch(14390): ACTION_DOWN---06-04 14:49:29.450: D/touch:activity-dispatch(14390): ACTION_MOVE06-04 14:49:29.450: D/touch:activity-onTouch(14390): ACTION_MOVE。。。。。。。。。。。。。。。。。。。。(省略)06-04 14:49:29.730: D/touch:activity-dispatch(14390): ACTION_MOVE06-04 14:49:29.730: D/touch:activity-onTouch(14390): ACTION_MOVE06-04 14:49:29.730: D/touch:activity-dispatch(14390): ACTION_UP06-04 14:49:29.730: D/touch:activity-onTouch(14390): ACTION_UP可以发现TextViewExt只接收到Action_Down事件,其他事件都被拦截了
0 0
- Activity dispatchTouchEvent事件过程分析(预览篇)
- Activity dispatchTouchEvent事件分发--测试(一)
- Activity dispatchTouchEvent事件分发--测试(二)
- Activity dispatchTouchEvent事件分发--总结(一)
- Android触摸屏事件派发机制详解与源码分析三(Activity篇)dispatchtouchevent,ontouch,ontouchevent,onclick
- Android touch 事件分发 (一)Activity dispatchTouchEvent
- 从源码角度带你分析 Android View 事件分发 dispatchTouchEvent,onTouch,onTouchEvent,onClick逻辑顺序过程(一)
- Activity Touch事件分发 dispatchTouchEvent onTouchEvent
- Activity的事件处理:dispatchTouchEvent,onUserInteraction,onTouchEvent
- Activity dispatchTouchEvent事件分发的源头
- 重写Activity的dispatchTouchEvent与百度地图MapView事件冲突
- 从源码角度带你分析 Android View 事件分发 dispatchTouchEvent,onTouch,onTouchEvent,onClick逻辑顺序过程
- Android触摸屏事件派发机制详解与源码分析二(ViewGroup篇)dispatchtouchevent,ontouch,ontouchevent,onclick
- Android - 事件模型(dispatchTouchEvent , interceptTouchEvnet , onTouchEven)
- Android 事件分发(dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent)
- 事件分发系列—View中的dispatchTouchEvent和onTouchEvent分析
- dispatchTouchEvent和onTouchEvent事件
- Android View系统源码分析(三)—— 根View内部消息派发过程&ViewGroup.dispatchTouchEvent()
- 浅谈深度学习(Deep Learning)的基本思想和方法
- Log4j配置详解
- Android常用开源组件
- SeAndroid上指纹系统的权限说明
- 为应用程序添加缓存
- Activity dispatchTouchEvent事件过程分析(预览篇)
- linux nginx的安装
- 实现:TextView自由复制功能
- eclipse打包apk时提示the zipalign tool was not found in the sdk解决方法
- 文件上传与下载(一)struts2
- Volley网络请求框架
- Apache 日志文件简述
- shell中变量自增的计算方法
- 以时间为基准进行求解