¿Cómo detectar la posición táctil en el trabajo de pantalla de Android?

Podemos obtener las coordenadas de la posición táctil en la pantalla usando las siguientes funciones:

public boolean onTouchEvent(MotionEvent event){ float x_forOnTouch = event.getX(); float y_forOnTouch = event.getY(); 

¿Qué es exactamente devuelto por las getX() y getY() ? ¿Está devolviendo valores de píxeles? Cuando un dedo toca una posición de pantalla, probablemente toque un número de píxeles. Entonces, ¿qué es exactamente lo que devuelve la función?

Una vez más, supongamos que en el área que toco con mi dedo, hay varios píxeles en la pantalla, como se muestra a continuación:
Introduzca aquí la descripción de la imagen

Supongamos que necesito hacer clic y arrastrar el punto en el píxel 1, pero el área que toque mi dedo cubre los píxeles 1 y 2. ¿Cómo puedo detectar con exactitud qué píxel se ha hecho clic, de modo que pueda hacer clic y arrastrar en el píxel 1 o 2 cuando ¿necesito?

Bueno, eso puede ser de ayuda para usted: http://developer.android.com/reference/android/view/MotionEvent.html

Supongo que los valores son el centro de la mancha o área del tacto. Recuerde que puede ser una herramienta como un ratón o un lápiz para que el área sea más precisa. Tiene métodos y constantes para el supuesto área del dedo que está tocando.

El enlace tiene tantos métodos sobre esa pregunta, que no copiaré y pegaré, ya que está bastante documentado, así que creo que necesitas leerlo.

Algunos de ellos: getPressure() getSize() getPointerCount() getXPrecision()

Acerca del valor devuelto, la sección Tipos de dispositivo dará mucha información.

Algunos relevantes:

La interpretación del contenido de un MotionEvent varía significativamente dependiendo de la clase de origen del dispositivo.

En los dispositivos apuntadores con clase de origen SOURCE_CLASS_POINTER, como las pantallas táctiles , las coordenadas del puntero especifican posiciones absolutas, como las coordenadas X / Y de la vista . Cada gesto completo está representado por una secuencia de eventos de movimiento con acciones que describen las transiciones y movimientos del estado del puntero.

En los dispositivos joystick con clase de origen SOURCE_CLASS_JOYSTICK, las coordenadas del puntero especifican la posición absoluta de los ejes del joystick. Los valores del eje del joystick se normalizan en un rango de -1.0 a 1.0

  • ¿Cuál es la diferencia entre ACTION_CANCEL y ACTION_UP en MotionEvent?
  • Soporte para Gamepad Android
  • Android OpenGL ES: Coordinación de MotionEvent normalizada
  • Detección de vistas invisibles en un evento de movimiento
  • Pase el evento de movimiento a la Scrollview primaria cuando Listview en la parte superior / inferior
  • Combinación WindowManager.LayoutParams que puede pasar eventos a capas bajo TYPE_SYSTEM_ALERT o smilar
  • Manejo de MotionEvent en ScrollView en Android
  • Android cuál es la diferencia entre getAction () y getActionMasked () en MotionEvent
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.