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

倖福魔咒の 提交于 2019-11-30 08:15:19

问题


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


回答1:


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




回答2:


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();
}


来源:https://stackoverflow.com/questions/3422400/android-measure-detect-covered-area-by-a-finger-touch-on-screen-not-only-touch

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!