博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android(八)、触摸事件分发
阅读量:5134 次
发布时间:2019-06-13

本文共 1230 字,大约阅读时间需要 4 分钟。

 

本文章基于android 4.2.1,从view拿到事件信息开始,首先对事件做一些检测及预处理;如果事件有问题的话则抛弃信息,否则的话开始对事件进行分析。

首先判断mListenerInfo是否为空,是否设置了onTouch事件;如果设置了事件则执行onTouch事件,当onTouch方法消耗了事件则消息传递结束;否则将事件交给OnTouchEvent方法处理,onTouchEvent中主要是判断是执行点击事件还是长按事件,如果没有消耗掉事件的话事件抛给父控件或者结束事件(无父控件时结束事件)。

 

7226     public boolean dispatchTouchEvent(MotionEvent event) {7227         if (mInputEventConsistencyVerifier != null) {7228             mInputEventConsistencyVerifier.onTouchEvent(event, 0);7229         }7230 7231         if (onFilterTouchEventForSecurity(event)) {7232             //noinspection SimplifiableIfStatement7233             ListenerInfo li = mListenerInfo;//包括onTouch,onClick和onLongClick事件7234             if (li != null && li.mOnTouchListener != null && (mViewFlags & ENABLED_MASK) == ENABLED7235                     && li.mOnTouchListener.onTouch(this, event)) {7236                 return true;7237             }7238 7239             if (onTouchEvent(event)) {7240                 return true;7241             }7242         }7243 7244         if (mInputEventConsistencyVerifier != null) {7245             mInputEventConsistencyVerifier.onUnhandledEvent(event, 0);7246         }7247         return false;7248     }

 

 

 

 

 

转载于:https://www.cnblogs.com/qcjd/p/9324867.html

你可能感兴趣的文章
1076 Wifi密码 (15 分)
查看>>
noip模拟赛 党
查看>>
bzoj2038 [2009国家集训队]小Z的袜子(hose)
查看>>
Java反射机制及其Class类浅析
查看>>
Postman-----如何导入和导出
查看>>
移动设备显示尺寸大全 CSS3媒体查询
查看>>
图片等比例缩放及图片上下剧中
查看>>
background-clip,background-origin
查看>>
【Linux】ping命令详解
查看>>
对团队成员公开感谢博客
查看>>
java学习第三天
查看>>
django+uwsgi+nginx+sqlite3部署+screen
查看>>
浅谈项目需求变更管理
查看>>
经典算法系列一-快速排序
查看>>
设置java web工程中默认访问首页的几种方式
查看>>
ASP.NET MVC 拓展ViewResult实现word文档下载
查看>>
8、RDD持久化
查看>>
第二次团队冲刺--2
查看>>
Linux上架设boost的安装及配置过程
查看>>
[转载]加密算法库Crypto——nodejs中间件系列
查看>>