2012-03-08 4 views
8

У меня есть линейная компоновка с изображением в ней Я пытаюсь получить координаты события касания изображения относительно родителя, который его содержит. Знаете ли вы, что я могу получить их? GetX и Ge возвращаются положение относительно себяполучить координаты событий касания относительно родителя

ответ

24

MotionEvent класса имеет методы GetX(), чтобы получить X точку касания, соответствующие это точку зрения и getRawX() для получения точки касания X, соответствующей экрану.

Таким образом, чтобы получить X точки касания, соответствующий родитель, вы можете получить, что с помощью простого расчета:

 view.getLeft() + motionEvent.getX() 

В getLeft() возвращает Левое положение этой точки зрения относительно его родителя

+0

Спасибо. для расширенной информации, поэтому, я думаю, я буду принимать в качестве правильного ответа, поскольку у нее есть больше объяснений о том, что происходит. – Snake

5

попробовать это:

public boolean onTouch(View v, MotionEvent event) { 

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

Great! спасибо +1 :) – Snake