chriz
chriz

Reputation: 245

Android: Measure/detect covered area by a finger touch on screen (NOT only touch coordinates)

I would like to get access to the area covered by a finger for each touch event on an Android.

Every touch event will result in a coordinate pair X and Y independent of how big the finger and consequently the touch area is that triggered the event.

I was wondering if there is a way to get the area data which triggered the touch event e.g. size or coordinates NOT

Any help is much appreciated.

Thanks in advance for you answer or redirects,

Christian

Upvotes: 13

Views: 7414

Answers (2)

oli
oli

Reputation: 4934

The method motionEvent.getSize() should give you what you want (but the level of accuracy may vary depending on the device's screen).

Upvotes: 15

Nishant Shah
Nishant Shah

Reputation: 3442

You need to implement OnGestureListener.

First of all, you need to register GestureDetector in onTouchEvent

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

In onShowPress you will get starting points

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

In onScroll you will get the end points.

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

Upvotes: 1

Related Questions