我有一个线性布局,其中包含一张图片。我正在尝试获取与该图片相关的在父容器中的触摸事件坐标。您知道我怎么可以获得这些吗?getX和getY返回相对于自身的位置。
我有一个线性布局,其中包含一张图片。我正在尝试获取与该图片相关的在父容器中的触摸事件坐标。您知道我怎么可以获得这些吗?getX和getY返回相对于自身的位置。
MotionEvent类有两个方法,getX()用于获取与该视图对应的X触摸点,getRawX()用于获取与屏幕对应的X触摸点。
因此,要获取与父视图对应的X触摸点,您可以通过简单的计算来获取:
view.getLeft() + motionEvent.getX()
getLeft() 返回此视图相对于其父视图的左侧位置。
试试这个:
public boolean onTouch(View v, MotionEvent event) {
System.out.println((v.getLeft() + event.getX()) + "," + (v.getTop() + event.getY()));
return false;
}