




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Touch事件处理MotionEventMetadataTouchLocationNumberofpointers(fingers)EventTimeCategoryACTION_DOWNACTION_UPACTION_MOVEACTION_POINTER_DOWNACTION_POINTER_UPACTION_CANCEL基本思路始于Activity.dispatchTouchEvent();自上而下树形遍历父View传递给子View父View可“截获”事件传递链每个Event必被处理处理顺序自下而上,直到有函数返回“true”未被View处理的函数会返回Activity.onTouchEvent()OnTouchListener可阻断事件传递链事件分发-1Activity.dispatchTouchEvent()事件分发的源头onTouchEvent()最后被调用有可能不被调用View.dispatchTouchEvent()如果存在首先发送至“listener”View.OnTouchListener.onTouch()onTouchEvent()不被响应时调用事件分发-2ViewGroup.dispatchTouchEvent()
onInterceptTouchEvent()判断是否需截获事件截获后,子View收到ACTION_CANCLE事件一旦截获,后续事件一律不再传递按照子View添加的逆序分发事件如没有子View响应,回调“listener”OnTouchListener.onTouch()如没有listner,或者事件未被处理:onTouchEvent()
示例-不响应事件DOWN:Activity.dispatchTouchEvent()
Activity.onTouchEvent()
MOVE/UP:Activity.dispatchTouchEvent()
Activity.onTouchEvent()View.dispatchTouchEvent()
View.onTouchEvent()
View.dispatchTouchEvent()
View.onTouchEvent()ViewGroup.dispatchTouchEvent()
ViewGroup.onTouchEvent()
ViewGroup.dispatchTouchEvent()
ViewGroup.onTouchEvent()
示例-响应单击DOWN:Activity.dispatchTouchEvent()
Activity.onTouchEvent()
MOVE/UP:Activity.dispatchTouchEvent()
Activity.onTouchEvent()View.dispatchTouchEvent()
View.onTouchEvent()View.dispatchTouchEvent()
View.onTouchEvent()ViewGroup.dispatchTouchEvent()
ViewGroup.onTouchEvent()ViewGroup.dispatchTouchEvent()
ViewGroup.onTouchEvent()10
示例-事件截获DOWN:Activity.dispatchTouchEvent()
Activity.onTouchEvent()
MOVE/UP:Activity.dispatchTouchEvent()
Activity.onTouchEvent()View.dispatchTouchEvent()
View.onTouchEvent()
CANCEL!
View.dispatchTouchEvent()
View.onTouchEvent()ViewGroup.dispatchTouchEvent()
ViewGroup.onTouchEvent()
ViewGroup.dispatchTouchEvent()
ViewGroup.onTouchEvent()自定义响应事件onTouchEventSetOnTouchListener处理事件ACTION_DOWN返回trueViewConfiguration常用方法getScaledTouchSlopgetScaledMinimumFlingVelocitygetLongPressTimeoutTips-1ACTION_DOWN尽量返回trueGesture探测事件传递链直接用dispatchTouchEvent()避免直接onTouchEvent()onInterceptTouchEvent()截获后,事件发往onTouchEvent()一旦截获,后续事件不再传入子View收到ACTION_CANCLE事件Tips-2重载时尽量调用父类函数View的状态改变依赖事件处理正确检测“手指移动”事件getScaledTouchSlop重视ACTION_CANCLE尽量避免打断正常的事件响应链多点处理MotionEvent.getPointerCount()ACTION_POINTER_DOWN&ACTION_POINTER_UPMotionEvent.getActionMasked()MotionEvent.getActionIndex()IndexgetX(index)/getY(index)getEventTime(index)GestureMotionEvent序列ACTION_DOWN。。。。。ACTION_UPGestureDetectoronDown(),onSingleTapUp(),onDoubleTap()onLongPress()onScroll()onFling()ScaleGestureDetectoronScaleBegin(),onScale(),onScaleEnd()Touch
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公墓委托经营管理合同标准文本
- 代理服务协议合同标准文本
- pet材料购销合同标准文本
- 企业创业合同样本
- 乙方终止房屋合同标准文本
- vr全景制作合同标准文本
- 二房合同标准文本
- 乙方服务合同标准文本
- 全权代理合同标准文本
- 买卖机械简易合同标准文本
- 2025年福建省中考数学模拟试题(原卷版+解析版)
- 小学生卫生知识小常识
- 2025年各专业质控工作改进目标
- 计算机技术与软件安全审计试题及答案
- (新课标)专题08+易考必考典型选择题专项复习- 三年级语文下册期末备考(统编版)
- 2024年中央戏剧学院招聘笔试真题
- 成都设计咨询集团有限公司2025年社会公开招聘(19人)笔试参考题库附带答案详解
- 药学知识联合用药
- 2025年江苏太仓市文化教育投资集团有限公司招聘笔试参考题库附带答案详解
- 广东省中山市2024-2025学年九年级上学期期末语文试题
- 装饰装修木工施工合同
评论
0/150
提交评论