获取相对于父级的触摸事件坐标

时间:2012-03-08 03:03:34

标签: android

我有一个线性布局,里面有一个图像 我试图获取图像的触摸事件坐标相对于包含它的父级。 你知道我能得到这些吗? getX和getY返回相对于self

的位置

2 个答案:

答案 0 :(得分:24)

MotionEvent 类使用方法 getX()来获取与该视图对应的X触摸点,并使用 getRawX()来获取X触点对应屏幕。

因此,要获得与父对应的X触摸点,您可以通过简单的计算得到它:

     view.getLeft() + motionEvent.getX()

getLeft()返回此视图相对于其父级的左侧位置

答案 1 :(得分:5)

试试这个:

public boolean onTouch(View v, MotionEvent event) {

    System.out.println((v.getLeft() + event.getX()) + "," + (v.getTop() + event.getY()));
    return false;
}