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

后端 未结 2 451
囚心锁ツ
囚心锁ツ 2020-12-17 18:37

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

相关标签:
2条回答
  • 2020-12-17 19:03

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

    0 讨论(0)
  • 2020-12-17 19:24

    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();
    }
    
    0 讨论(0)
提交回复
热议问题