Android: Измерение/обнаружение покрытой области касанием пальца к экрану (НЕ только координаты касания)

Я хотел бы получить доступ к области, покрытой пальцем, для каждого события касания на Android.

Каждое событие касания приводит к паре координат X и Y, независимо от размера пальца и, следовательно, области касания, вызвавшей событие.

Мне было интересно, есть ли способ получить данные области, которые вызвали событие касания, например. размер или координаты НЕ

Любая помощь горячо приветствуется.

Заранее спасибо за ответ или переадресацию,

христианин


person chriz    schedule 06.08.2010    source источник


Ответы (2)


Метод motionEvent.getSize() должен дать вам то, что вы хотите (но уровень точности может варьироваться в зависимости от экрана устройства).

person oli    schedule 06.08.2010
comment
спасибо, это выглядит хорошо. Я надеюсь, что планшет Google будет поддерживать этот метод. - person chriz; 25.08.2010

Вам нужно реализовать OnGestureListener.

В первую очередь необходимо зарегистрировать GestureDetector в onTouchEvent.

@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();
}
person Nishant Shah    schedule 06.08.2010
comment
Это не даст вам области одного касания, что, я думаю, и нужно спрашивающему. - person oli; 06.08.2010