motionevent(MotionEventobtain 参数)
Android MotionEvent中getX和getRawX的区别
看应用程序接口文档:
公共最终浮点getX(int指针索引)
针对给定的指针索引返回该事件的X坐标(使用getPointerId(int)查找该索引的指针标识符)。整数是像素;对于亚像素精度的输入设备,该值可能有一部分。
公共最终浮点getRawX()
返回此事件的原始X坐标。对于屏幕上的触摸事件,这是事件在屏幕上的原始位置,在针对包含的窗口和视图进行调整之前。
大概意思应该是说,getRawX()获取的是屏幕上的原生(原始原始)x坐标,而getX(int pointerIndex)只是说获取的是指定的触控点坐标,getX()就是获取第一个触控点的坐标。所以,getRawX()就是说,获取的是相对于屏幕左上角的x坐标,而getX()是获取相对控件左上角的x坐标。如果某个活动中实现ontouchlistener接口,需要重写本体(视图视图,运动事件事件)这个方法,getrawx()和getrawy()获得的是相对屏幕的位置,getx()和gety()获得的永远是相对视角的触摸位置坐标(这两个值不会超过视角的长度和宽度)。
rawx,rawy相对于屏幕位置坐标
x,y相对于容器的位置坐标
为什么不响应motionEvent.action_up?
问题解决了!末尾返回错误的改成返回真实的我的是这样解决的,就不知道是否适用楼主的问题了!返回super.onTouchEvent(事件);试试这个这四个事件向下、移动、向上、取消没有起来肯定会有取消
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容请联系我们,一经查实,本站将立刻删除。
转载联系作者并注明出处:https://www.blogone.net/qiu/912.html
标签:
相关文章