Android:通过屏幕上的手指触摸测量/检测覆盖区域(不仅仅是触摸坐标)

时间:2010-08-06 09:11:37

标签: android events size touch area

我希望能够访问Android上每个触摸事件的手指所覆盖的区域。

每个触摸事件都会产生一个坐标对X和Y,与手指的大小无关,因此触发事件的触摸区域也是如此。

我想知道是否有办法获得触发触摸事件的区域数据,例如大小或坐标不

非常感谢任何帮助。

提前感谢您的回答或重定向,

基督教

2 个答案:

答案 0 :(得分:15)

方法motionEvent.getSize()应该为您提供所需的内容(但准确度可能因设备的屏幕而异)。

答案 1 :(得分:2)

您需要实现OnGestureListener。

首先,您需要在onTouchEvent中注册GestureDetector

@Override
public boolean onTouchEvent(MotionEvent event) {
    mGestureDetector.onTouchEvent(event);
    return true;
}

在onShowPress中,您将获得起点

@Override
public void onShowPress(MotionEvent e) {
    startX = e.getX();
    startY = e.getY();
}

在onScroll中,您将获得终点。

@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
        float distanceY) {
            endX = e2.getX();
            endY = e2.getY();
}