2010-08-06 8 views
11

Me gustaría tener acceso al área cubierta por un dedo para cada evento táctil en un Android.Android: mida/detecte el área cubierta tocando con un dedo en la pantalla (no solo toque las coordenadas)

Cada evento táctil resultará en un par de coordenadas X e Y, independientemente de qué tan grande sea el dedo y, por consiguiente, el área táctil que desencadenó el evento.

Me preguntaba si hay una forma de obtener los datos de área que desencadenaron el evento táctil, p. tamaño o coordenadas NO

Cualquier ayuda es muy apreciada.

Gracias de antemano por su respuesta es o redirecciones,

Cristiano

Respuesta

2

Es necesario implementar OnGestureListener.

En primer lugar, es necesario registrarse en GestureDetector onTouchEvent

@Override 
public boolean onTouchEvent(MotionEvent event) { 
    mGestureDetector.onTouchEvent(event); 
    return true; 
} 

En onShowPress obtendrá puntos

@Override 
public void onShowPress(MotionEvent e) { 
    startX = e.getX(); 
    startY = e.getY(); 
} 

En OnScroll obtendrá los puntos finales de partida.

@Override 
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, 
     float distanceY) { 
      endX = e2.getX(); 
      endY = e2.getY(); 
} 
+5

Esto no le dará el área de un solo toque, que creo que es lo que busca el asker. – oli

+0

gracias por su respuesta! – chriz

14

El método motionEvent.getSize() debería darle lo que quiere (pero el nivel de precisión puede variar dependiendo de la pantalla del dispositivo).

+0

gracias, eso se ve bien. Espero que la tableta de Google sea compatible con este método. – chriz

Cuestiones relacionadas