С учетом OnTouchListener
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;
}
};
, установленного в некотором виде:
myView.setOnTouchListener(handleTouch);
Это дает вам координаты событий касания относительно к представлению, которое назначено прислужнику прослушивания. Верхний левый угол представления - (0, 0)
. Если вы переместите палец над представлением, то y
будет отрицательным. Если вы переместите свой палец влево от представления, то x
будет отрицательным.
int x = (int)event.getX();
int y = (int)event.getY();
Если вы хотите, чтобы координаты относились к верхнему левому углу экрана устройства, используйте исходные значения.
int x = (int)event.getRawX();
int y = (int)event.getRawY();