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 相对于屏幕的绝对坐标。

可能是这样-