这样会不会更好一点。Matrix不去转换Rect,而是转换点击的点。点击的点和旋转后Rect真实区域是一个相对位置,因为Rect.contains不会旋转改变,所以只用把点击的点反着旋转相同即可,保持相对位置不变。
private boolean isInRectangle(float pointX, float pointY) {
float[] floats = new float[]{pointX, pointY};
Matrix matrix = new Matrix();
matrix.setRotate(-(float) mRotation, mRect.centerX(), mRect.centerY());
matrix.mapPoints(floats);
return mRect.contains(floats[0], floats[1]);
}
Android 自定义view中如何判断一个点是否在 经过旋转的 RectF 内?最近在做相册的图片编辑功能,遇到一个bug,插入文字后旋转文字区域,点击文字区域无法触发,分析原因是判断时认定为点没在RectF内。如图: 如果只是通过rect.contai...