android(八)、触摸事件分发
本文章基于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 SimplifiableIfStatement
7233 ListenerInfo li = mListenerInfo;//包括onTouch,onClick和onLongClick事件
7234 if (li != null && li.mOnTouchListener != null && (mViewFlags & ENABLED_MASK) == ENABLED
7235 && 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
android(八)、触摸事件分发相关推荐
- 【Android】Touch事件分发
题外话: /*** A ViewGroup is a special view that can contain other views* (called children.) The view gr ...
- android 抽屉侧滑冲突,利用DrawerLayout和触摸事件分发实现抽屉侧滑效果
本文实例为大家分享了DrawerLayout和触摸事件分发实现抽屉侧滑效果的具体代码,供大家参考,具体内容如下 效果展示 还是看代码实在,直接上菜了. 1.MainActivity的代码: publi ...
- Android 系统(74)---Android手势触摸事件的分发和消费机制
Android手势&触摸事件的分发和消费机制 在Android 客户端开发过程中,经常会遇到手势事件的处理,本篇博文讲一下本人对touch事件处理机制的一些理解,希望对一些初级开发者有所帮助. ...
- android方向触摸事件,Android触摸事件传递机制,这一篇就够了
整个触摸事件牵涉到的是,Activity,View,ViewGroup三者的传递机制. 这个触摸事件就是从外层往内层一层层的传递. 整个传递机制,分为3个步骤:分发,拦截,和消费. 1. 触摸事件的类 ...
- 总结系列——聊聊android里面的事件分发
前言 android 中的事件分发,已经是老生常谈的问题了,一般都是从Activity开始聊,但是真的是这样吗?hongyang大神之前一篇纠错,解决了我一个很大的困惑,也算是扫盲吧,这篇文章,是从头 ...
- android触摸事件触摸点坐标,Android开发——触摸事件TouchEvent详解及其应用
2020.8.8 Activity的功能: 1.管理界面的生命周期 2.接收事件(触摸事件) 一.触摸事件传递解析 touch事件的传递.png 当手指按下时会首先调用onUserInteractio ...
- android touch事件无反应,android的touch事件分发响应机制
想要弄明白android的touch事件分发响应机制需要先充分理解一下几个知识点: View和ViewGroup touch事件的构成 ViewGroup如何对事件分发和拦截 View和ViewGro ...
- Android笔记:触摸事件的分析与总结----多点触控
其他相关博文: Android笔记:触摸事件的分析与总结----MotionEvent对象 Android笔记:触摸事件的分析与总结----TouchEvent处理机制 An ...
- android触摸事件分发,Android 事件分发机制
Android 事件分发机制一直让人头痛,之前也是面向 GitHub 编程得过且过.今天下定决心了解一下,以便后面自己定制 View 效果.Android 触摸事件有三个基本类型:ACTION_DOW ...
- Android触摸事件分发
Android的触摸分发机制和如何实现拦截 Android的触摸分发机制和如何实现拦截 前言 触摸事件的分发 情景分析 总结 前言 在自定义ViewGroup中,有时候需要实现触摸事件拦截,比如Lis ...
最新文章
- html网页在指定位置嵌入表格,网页制作中表格的主要作用 网页制作中插入表格怎么调整位置...
- 怎么知道 网站是否直接明文保存密码_忘记账号密码 浏览器记住了 怎么找回密码?...
- 1.4-puppet配置证书
- html中英文混排,EndNote中英文混排时et al和等的3种解决方法 | 科研动力
- 关于对话框DoModal()函数调用失败的原因分析
- Java并发:线程池详解(ThreadPoolExecutor)
- 文本分类模型_文本分类模型之TextCNN
- UVa 1626 (输出方案) Brackets sequence
- ios中base64编码
- oauth_client_details的值怎么添加_PowerBI计算列与度量值
- vue 组件 - 非单文件组件
- 5G时代的无线宽带新技术
- android-async-http框架之与服务器进行数据交互
- powerdesigner中将表的name在生成建表sql时生成注释
- flask如何查询mysql_如何从Flask应用中的MySQL查询返回数据?
- java历save_日历【savejava吧】_百度贴吧
- 英语测试用什么软件有哪些,学习英语的软件哪个好 什么比较好用
- c++ 取模和求余运算
- Jsp 页面白页问题
- MySQL数据库课程设计_什么是数据库?如何学习数据库?
热门文章
- 远程升级stm32程序_艾拉比智能成为意法半导体STM32战略合作伙伴
- Oauth2与授权管理
- php让符合条件的复选框选中,多条件查询(复选框条件)
- JavaWeb——拦截器HandlerInterceptor
- 新手必读:PhoneGap入门六大问题
- 【java学习之路】(java SE篇)004.面向对象基础入门part1
- 计算机技能比赛范文,计算机技能大赛策划书范文.doc
- 页面查询条件选框被隐藏的问题
- 用法 the_英语冠词:不定冠词a,an和定冠词the的用法
- html页面上的表格导出为excel文件,Web html table export to excel 网页上的表格数据导出到Excel文件中 使用心得...