Дополнительный ответ
Учитывая 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();
Относящиеся