如何在Android屏幕上获取所有触摸点的坐标

时间:2016-02-17 12:18:30

标签: java android ontouchevent motionevent

有没有办法在Android屏幕上获取所有触摸点?我在触摸父布局时使用MotionEvent来获取坐标,当我触摸某些子元素时使用onTouchEvents。但我想使用一些第三方库(如果存在),它可以返回屏幕上的所有触摸,而不知道包含什么活动。我只需要在屏幕上获取所有触摸的坐标,但该库应该影响现有的应用程序功能。 有没有办法实现这一目标。感谢!!!

1 个答案:

答案 0 :(得分:1)

您不需要任何工具包或库来获取坐标。要获得屏幕上触摸点的坐标,您所要做的就是 - 使用MotionEvent对象获取X和Y值。我在我的项目中使用了这个代码来进行相机聚焦和缩放。

只需在活动代码中复制并粘贴下面的代码(在onCreate()方法之外)并检查logcat:

@Override
public void onTouchEvent(MotionEvent event) {
    int pointerId = event.getPointerId(0);
    int pointerIndex = event.findPointerIndex(pointerId);
    // Get the pointer's current position
    float x = event.getX(pointerIndex);
    float y = event.getY(pointerIndex);
    System.out.println("X:"+x);
    System.out.println("Y:"+y);
}