当前位置: 首页 > news >正文

京东的网站建设介绍山西优化公司

京东的网站建设介绍,山西优化公司,学生作业制作网站,展馆展示设计公司招聘广告MotionEvent 说明 完整touch event流程 Android用于描述动作的封装类。这里的动作不仅包含touch event,还有如鼠标、手柄等不同输入设备所触发的动作,下文以touch event为例。 该类将一个动作描述为动作码action code和一些系列坐标值。当手指触碰屏幕…

MotionEvent 说明

完整touch event流程

Android用于描述动作的封装类。这里的动作不仅包含touch event,还有如鼠标、手柄等不同输入设备所触发的动作,下文以touch event为例。
该类将一个动作描述为动作码action code和一些系列坐标值。当手指触碰屏幕时,首先产生动作码为ACTION_DOWN的MotionEvent,随后ACTION_MOVE记录手指在屏幕上的滑动信息,当手指离开屏幕时产生ACTION_UP,此时一个touch event就正常结束了。但是不能保证每个touch event都能顺利结束,可能出现touch event被取消,此时会收到一个带有ACTION_CANCEL的MotionEvent。

Event ACTION_DOWN
Event ACTION_MOVE
Event ACTION_MOVE
Event ACTION_MOVE
Event ACTION_MOVE
Event ACTION_UP

支持多点触碰

Android引入了pointer来描述每一个触碰点。一个MotionEvent中可以同时存在多个pointer,当已经有手指触碰屏幕后,每多一个手指触碰屏幕,对应增加一个pointer。为了区分不同的pointer,每个pointer都带有一个id,并且保证id在整个touch event有效期间保持不变。

I/history: --------------once history start!-----------
I/history: At time 87122940
I/history: pointer 0: (650.0,593.0)
I/history: pointer 1: (278.0,878.0)
I/history: At time 87122948
I/history: pointer 0: (653.0,614.0)
I/history: pointer 1: (281.0,904.0)
I/history: At time 87122957
I/history: pointer 0: (658.0,642.0)
I/history: pointer 1: (284.0,934.0)
I/history: At time 87122965
I/history: pointer 0: (661.0,670.0)
I/history: pointer 1: (289.0,968.0)
I/history: Current time :87122969
I/history: pointer 0: (661.4655,685.3621)
I/history: pointer 1: (290.8621,983.3622)
I/history: --------once history finish--------- 
I/history: --------------once history start!-----------
I/history: At time 87122973
I/history: pointer 0: (662.0,703.0)
I/history: pointer 1: (293.0,1001.0)
I/history: At time 87122982
I/history: pointer 0: (664.0,737.0)
I/history: pointer 1: (297.0,1038.0)
I/history: Current time :87122989
I/history: pointer 0: (664.0,765.4084)
I/history: pointer 1: (298.7755,1062.8573)
I/history: --------once history finish--------- 

对于ACTION_MOVE,Android会将多个ACTION_MOVE集合在一个MotionEvent中。以下是源码中给出的按时间顺序查看MotionEvent中全部pointer代码,运行结果见上。

    void printSamples(MotionEvent ev) {final int historySize = ev.getHistorySize();final int pointerCount = ev.getPointerCount();Log.i("history", "--------------once history start!-----------");for (int h = 0; h < historySize; h++) {Log.i("history","At time "+ev.getHistoricalEventTime(h) );for (int p = 0; p < pointerCount; p++) {Log.i("history","index "+ev.findPointerIndex(p)+" pointer "+ev.getPointerId(p)+": ("+ev.getHistoricalX(p, h)+","+ev.getHistoricalY(p, h)+")");}}Log.i("history","Current time :"+ev.getEventTime());for (int p = 0; p < pointerCount; p++) {Log.i("history","index "+ev.findPointerIndex(p)+" pointer "+ev.getPointerId(p)+": ("+ ev.getX(p)+","+ev.getY(p)+")");}Log.i("history", "--------once history finish--------- ");}

MotionEvent数据获取

MotionEvent中提供很多方法来获取event相关属性,如坐标、压力信息等。但是MotionEvent类中大多数方法接受的是event的index,而不是id。根据源码注释,pointer是无序出现的,所以如果想要追踪某一touch evnet,需要在ACTION_DOWN时记录该event的id,在后续通过getPointerId(int)方法来获取index

I/POINTER: pointer index:0 pointer id:0
I/POINTER: pointer index:0 pointer id:0
I/POINTER: pointer index:0 pointer id:1
I/POINTER: pointer index:0 pointer id:1
I/POINTER: pointer index:0 pointer id:0
I/POINTER: pointer index:0 pointer id:0

TouchEvent事件分发一致性

在TouchEvent分发的流程中,系统不能保证一个MotionEvent保持不变,其可能被修改或删除,从而导致touch事件没有走完ACTION_DOWN-ACTION_MOVE-ACTION_UP的事件链。所以view在接受TouchEvent的时候应当考虑ACTION_CACEL的情况,或者没有收到ACTION_UP的情况下传来ACTION_DOWN

参考

触摸事件【MotionEvent】简介

http://www.tj-hxxt.cn/news/34874.html

相关文章:

  • dw属于什么的网页制作工具谷歌seo零基础教程
  • 做电商网站需要的证百度推广后台登陆
  • 做网站的前端技术网站优化查询代码
  • 网站主题旁边的图标怎么做的优质外链
  • 如何做外贸品牌网站如何给自己的公司建网站
  • seo网站权重个人怎么创建网站
  • 做信息类网站有哪些最近国际新闻大事
  • 内容网站 如何做采集中国最好的营销策划公司
  • 如何根据网址攻击网站宁波seo怎么做推广渠道
  • 南京做网站哪家好在线网站分析工具
  • 网站建设网站维护关键词seo优化软件
  • 在网站制作意见征集是怎么做的最新的疫情信息
  • 网站建设常识广告营销公司
  • 谈谈对seo的理解标题关键词优化技巧
  • 深圳市做物流网站网站关键词快速排名优化
  • 用户界面设计报告seo网络贸易网站推广
  • 如何做网站诊断推广软文案例
  • 医院网站制作开通网站需要多少钱
  • 营销型网站定做电商运营自学网站
  • 搭建动态网站实体店引流推广方法
  • 手机app定制多少钱seo策略是什么意思
  • 做网站能挣多少钱专业竞价托管
  • 旅游网站制作内容营销怎么做
  • 如何建设网站的能力重庆今日头条新闻消息
  • 吉林做网站哪家好google付费推广
  • 帝国cms怎么做淘客网站合肥做网站的公司有哪些
  • 苏州建设网站制作网站seo优化检测
  • h5做网站外贸seo网站推广
  • 鄂州手机网站设计网络营销策划的概念
  • 网站设置请求桌面网站chrome谷歌浏览器官方下载