Android: How to determine if a touch event is in a circle?

前端 未结 2 658
暖寄归人
暖寄归人 2021-02-01 10:40

I want to play a media when i touch a circular area, but how can I could determine that my touch position is in the circle?

So far I extend a view and imple

2条回答
  •  萌比男神i
    2021-02-01 11:11

    Another way to do this, and a little simpler I think, is to use the distance between two points formula and compare that distance to your radius. If the calculated distance is less than the radius then the touch is inside your circle.

    Here the code

    // Distance between two points formula
    float touchRadius = (float) Math.sqrt(Math.pow(touchX - mViewCenterPoint.x, 2) + Math.pow(touchY - mViewCenterPoint.y, 2));
    
    if (touchRadius < mCircleRadius)
    {
        // TOUCH INSIDE THE CIRCLE!
    }
    

提交回复
热议问题