【问题标题】:Rect contains(x,y) doesn't triggerRect contains(x,y) 不会触发
【发布时间】:2018-06-16 01:48:50
【问题描述】:

我正在尝试在自定义 android 视图中模拟按钮单击。我需要为此使用Rect.contains() 方法,但无论我在哪里点击矩形,它都不会被触发并且不会返回true。

 rect = new Rect(0, 0, 720, 205);

点击坐标的一个例子是 (401,103),它返回 false。

if(rect.contains((int)event.getX(),(int)event.getY())){
                    Log.w("CLICKED","");
                }

“CLICKED”永远不会被记录。我读过文档,上面写着 'left

在这个例子中 0

任何帮助表示赞赏

【问题讨论】:

  • 事件是否设置在屏幕或任何其他视图上..?
  • 不确定你的意思,但它在自定义视图的 onTouchEvent 方法中设置

标签: java android android-custom-view contains rect


【解决方案1】:

getX() 和 getY() 返回相对于调度事件的视图的坐标。如果该视图的原点不在 0, 0 处,则它可能不满足 rect.contains((int)event.getX(),(int)event.getY()) 条件。

但是,您可以使用 getRawX() 和 getRawY() 返回相对于屏幕的绝对坐标。

可能是这种情况-

【讨论】:

    猜你喜欢
    • 2010-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-08
    • 2023-02-11
    • 1970-01-01
    • 2018-01-31
    相关资源
    最近更新 更多