views:

170

answers:

2

Hi

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

A: 

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();
}
Nishant Shah
This won't give you the area of a single touch, which I think is what the asker is after.
oli
thanks for your answer!
Christian
A: 

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

oli
thanks, that looks good. I hope the Google tablet will support this method.
Christian