2022年7月21日

Android 是否在長方形內(包含四個個角範圍)

 



   public int is_in_rect(RectF r, float x, float y){


        int action_type=-1;
		//在範圍內
        if(x>=r.left && x<=r.right &&  y>=r.top && y<=r.bottom)
            action_type=0;   


        float w=r.width()*0.2f;
        float h=r.height()*0.2f;
        //左上
        if(x>=r.left && x<=(r.left+w)  && y>=r.top && y<=(r.top+h)){
            action_type=1;
        }  //右下
        else   if(x<=r.right && x>=(r.right-w)  && y<=r.bottom && y>=(r.bottom-h)){
            action_type=2;
        }else if(x>=r.left && x<=(r.left+w)  && y<=r.bottom && y>=(r.bottom-h)) {
            action_type=3;
            //左下
        }else if(x<=r.right && x>=(r.right-w)  && y>=r.top && y<=(r.top+h)) {
            action_type=4;
            //右上
        }


        return  action_type;
    }

沒有留言:

張貼留言