Rect contains(x,y) 不触发
Rect contains(x,y) doesn't trigger
我正在尝试在自定义 android 视图中模拟按钮点击。为此,我需要使用 Rect.contains()
方法,但无论我在哪里单击矩形,它都不会被触发并且 return 不正确。
rect = new Rect(0, 0, 720, 205);
点击坐标的例子是(401,103),这个return是假的。
if(rect.contains((int)event.getX(),(int)event.getY())){
Log.w("CLICKED","");
}
"CLICKED" 从未被记录。我已经阅读了文档,它说
'left <= x < right and top <= y < bottom' 至 return 真
在此示例中,0<=401<720 和 0<=103<205 是正确的,但似乎不起作用。
感谢任何帮助
getX() 和 getY() returns 相对于调度事件的视图的坐标。如果该视图的原点不在 0, 0,则它可能不满足 rect.contains((int)event.getX(),(int)event.getY())
条件。
但是,您可以使用 getRawX() 和 getRawY(),其中 returns 相对于屏幕的绝对坐标。
可能是这样-
我正在尝试在自定义 android 视图中模拟按钮点击。为此,我需要使用 Rect.contains()
方法,但无论我在哪里单击矩形,它都不会被触发并且 return 不正确。
rect = new Rect(0, 0, 720, 205);
点击坐标的例子是(401,103),这个return是假的。
if(rect.contains((int)event.getX(),(int)event.getY())){
Log.w("CLICKED","");
}
"CLICKED" 从未被记录。我已经阅读了文档,它说 'left <= x < right and top <= y < bottom' 至 return 真
在此示例中,0<=401<720 和 0<=103<205 是正确的,但似乎不起作用。
感谢任何帮助
getX() 和 getY() returns 相对于调度事件的视图的坐标。如果该视图的原点不在 0, 0,则它可能不满足 rect.contains((int)event.getX(),(int)event.getY())
条件。
但是,您可以使用 getRawX() 和 getRawY(),其中 returns 相对于屏幕的绝对坐标。
可能是这样-