我正在进行一项活动,其中会有一个中心的视图。 这是如何工作的。当我在屏幕上随机拖动手指时,只有当我的手指处于此视图的边界时,此视图才会动作。
我的代码(不正确只是想知道我的想法是否正确):
firstlayout.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
float x = event.getX();
float y = event.getY();
if ( (firstlayout.getLeft() <= x <= firstlayout.getRight()) &&
(firstlayout.getTop() <= y <= firstlayout.getBottom())
)
{
Log.i("A", "Motion Event is currently above firstlayout");
firstlayout.dispatchTouchEvent(event);
}
return true;
}
return false;
}
});
有一个错误:运算符&lt; =无法应用于'boolean','int' 如果可以,请写一些代码示例 任何帮助将不胜感激
答案 0 :(得分:0)
这不是有效的Java:
firstlayout.getLeft() <= x <= firstlayout.getRight()
相反,你必须做
(firstlayout.getLeft() <= x) && (x <= firstlayout.getRight())
此外,只有在视图范围内发生触摸时,您的视图才能接收触摸事件。您无需手动检查边界。