sensibilidad - ¿Cómo obtener la posición de Touch en Android?
calibrar touch samsung (4)
Necesito obtener la posición de inicio táctil (X, Y), tocar la posición de movimiento y tocar la posición final de la pantalla en Android.
Respuesta suplementaria
Dado un 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;
}
};
establecer en alguna vista:
myView.setOnTouchListener(handleTouch);
Esto le proporciona las coordenadas del evento táctil relativas a la vista que tiene el detector de pulsaciones asignado. La esquina superior izquierda de la vista es (0, 0)
. Si mueve su dedo sobre la vista, entonces y
será negativo. Si mueve el dedo a la izquierda de la vista, x
será negativo.
int x = (int)event.getX();
int y = (int)event.getY();
Si desea las coordenadas relativas a la esquina superior izquierda de la pantalla del dispositivo, utilice los valores brutos.
int x = (int)event.getRawX();
int y = (int)event.getRawY();
Relacionado
- ¿Cómo se entregan los eventos táctiles de Android?
Puede implementar un Deductor Gesture y en su evento onfling obtiene dos parámetros de la clase MotionEvent. Puedes obtener tus coordenadas xey de ellos. Busque esta publicación para obtener más detalles
@Override
public boolean onTouch(View v, MotionEvent event) {
float x = event.getX();
float y = event.getY();
return true;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
int x = (int)event.getX();
int y = (int)event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_MOVE:
case MotionEvent.ACTION_UP:
}
return false;
}
Los tres casos son para que pueda reaccionar ante diferentes tipos de eventos, en este ejemplo tocando, arrastrando o levantando el dedo otra vez.