private View.OnTouchListener handleTouch = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int x = (int) event.getX();
int y = (int) event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
Log.i("TAG", "touched down");
break;
case MotionEvent.ACTION_MOVE:
Log.i("TAG", "moving: (" + x + ", " + y + ")");
break;
case MotionEvent.ACTION_UP:
Log.i("TAG", "touched up");
break;
}
return true;
}
};
상기 Listener를 메인 뷰에 할 당합니다.
myView.setOnTouchListener(handleTouch);
해당 View 안에서 x, y 좌표를 보여줍니다.
그러나 디바이스 스크린에서의 절대적인 좌표를 구하려면 getRawX()를 사용하면 됩니다.
int x = (int)event.getRawX();
int y = (int)event.getRawY();