Android: Измерение / обнаружение покрытой области касанием пальцем на экране (НЕ только касание координат) - PullRequest
11 голосов
/ 06 августа 2010

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

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

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

Любая помощь очень ценится.

Заранее спасибо за ответ или перенаправления,

Christian

Ответы [ 2 ]

15 голосов
/ 06 августа 2010

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

2 голосов
/ 06 августа 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();
}
...