Cómo capturar la dirección del movimiento de los dedos en el teléfono Android?

Quiero capturar la dirección del movimiento del dedo en el teléfono de toque de Android. Si un usuario desliza el dedo hacia arriba / abajo / izquierda / derecha, quiero capturar esta dirección. ¿Cómo puedo encontrar esto? Gracias.

2 Solutions collect form web for “Cómo capturar la dirección del movimiento de los dedos en el teléfono Android?”

Implementar onTouchEvent (), y calcular dx y dy por donde el usuario presiona hacia abajo y se levanta. Puede utilizar estos valores para determinar la dirección del movimiento.

float x1, x2, y1, y2, dx, dy; String direction; switch(event.getAction()) { case(MotionEvent.ACTION_DOWN): x1 = event.getX(); y1 = event.getY(); break; case(MotionEvent.ACTION_UP): { x2 = event.getX(); y2 = event.getY(); dx = x2-x1; dy = y2-y1; // Use dx and dy to determine the direction if(Math.abs(dx) > Math.abs(dy)) { if(dx>0) directiion = "right"; else direction = "left"; } else { if(dy>0) direction = "down"; else direction = "up"; } } } 

Su mejor apuesta sería tratar con el MotionEvent que obtiene de una llamada de llamada View.OnTouchListener (). Los eventos de movimiento mantienen un seguimiento de cómo está interactuando actualmente con la vista por su propiedad de acción.

Me imagino que usted puede calcular qué dirección alguien se desliza su dedo mediante el examen de la propiedad de acción de la MotionEvents y los valores x / y de donde el evento de movimiento tuvo lugar.

 switch (event.getAction()) { case MotionEvent.ACTION_DOWN: oldX= event.getX(); oldY= event.getY(); break; case MotionEvent.ACTION_MOVE: int newX = motionEvent.getX(); int newY = motionEvent.getY(); int deltaX = oldX - newX; int deltaY = oldY - newY; if(Math.abs(deltaY)>Math.abs(deltaX)) //Motion in Y direction. else // Motion in X direction. break; } 

Hay muchos otros métodos disponibles en el objeto MotionEvent para su uso: http://developer.android.com/reference/android/view/MotionEvent.html

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.