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

chr*_*riz 11 size events android area touch

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

每个触摸事件将导致坐标对X和Y独立于手指的大小以及因此触发事件的触摸区域.

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

任何帮助深表感谢.

在此先感谢您的回答或重定向,

基督教

oli*_*oli 15

该方法motionEvent.getSize()应该给你你想要的(但准确度可能会有所不同,具体取决于设备的屏幕).


Nis*_*hah 1

您需要实现 OnGestureListener。

首先需要在onTouchEvent中注册GestureDetector

@Override
public boolean onTouchEvent(MotionEvent event) {
    mGestureDetector.onTouchEvent(event);
    return true;
}
Run Code Online (Sandbox Code Playgroud)

在 onShowPress 中您将获得起点

@Override
public void onShowPress(MotionEvent e) {
    startX = e.getX();
    startY = e.getY();
}
Run Code Online (Sandbox Code Playgroud)

在 onScroll 中你会得到终点。

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

  • 这不会给你单次触摸的面积,我认为这是提问者所追求的。 (7认同)