我有一个类,我设置了这样的界限:
tattoo.setBounds(getWidth() / 2 - zoomController - x, getHeight() / 2 - zoomController - y, getWidth()/ 2 + zoomController - x, getHeight()/ 2 + zoomController - y);
tattoo.draw(c);
我希望能够在用户点击这些边界内时执行操作。检查点击是否在界限范围内的最简单方法是什么?
答案 0 :(得分:2)
使用描述drawable边界的Rect
并在其上调用contains(int x, int y)
方法,传入x和y触摸坐标。例如:
Rect bounds = tattoo.getBounds();
int x = ...
int y = ...
boolean withinBounds = bounds.contains(x, y);
或者,您可以创建自己的(静态)辅助方法;数学是非常基础的。 :)