event.getX()
和event.getRawX()
之间的主要区别是什么。event.getRawX()
使用哪种情况。可以解释任何细节吗?
答案 0 :(得分:5)
以下链接将为您提供不同之处:
Difference between MotionEvent.getRawX and MotionEvent.getX
了解使用每种方案时的情景:
Android触摸事件可用于简单的手势,如左,右滑动,甚至可以用于复杂的触摸场景,如设计游戏。现在,对于简单的滑动事件,我们不需要所有原始值。只需相对于我们视图的触摸坐标就足够了。但在游戏和其他复杂场景中,我们不确定如何使用触摸坐标值。因此,我们从系统中获取原始值并相应地操作它们。它们可以是其他类似的场景,可以相应地使用这些API。
答案 1 :(得分:4)
这意味着实际上getX()和getY()在许多用例中都是无用的,你应该将你的应用程序逻辑基于getRawX()和getRawY(),保证相对于设备屏幕返回绝对坐标。使用MapView时,我能够通过从MotionEvent.getRawX()和MotionEvent中减去Window的内容视图(Window.ID_ANDROID_CONTENT)的View.getLeft()和View.getTop()来获取相对的X和Y坐标。 getRawY(),分别为。