2010-08-06 13 views
11

Vorrei poter accedere all'area coperta da un dito per ogni evento di tocco su un Android.Android: Misura/rileva area coperta con un tocco del dito sullo schermo (NON solo le coordinate di tocco)

Ogni evento di tocco genererà una coppia di coordinate X e Y indipendente da quanto è grande il dito e, di conseguenza, l'area di tocco che ha attivato l'evento.

Mi chiedevo se esiste un modo per ottenere i dati dell'area che hanno attivato l'evento tattile, ad es. dimensioni o coordinate NOT

Qualsiasi aiuto è molto apprezzato.

Grazie in anticipo per la risposta o reindirizzamenti,

Christian

risposta

2

è necessario implementare OnGestureListener.

Prima di tutto, è necessario registrarsi GestureDetector in onTouchEvent

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

In onShowPress si ottengono punti

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

In onscroll si ottengono i punti finali di partenza.

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

Questo non ti darà l'area di un singolo tocco, che penso sia ciò che il richiedente sta cercando. – oli

+0

grazie per la tua risposta! – chriz

14

Il metodo motionEvent.getSize() dovrebbe darvi quello che volete (ma il livello di precisione può variare a seconda schermo del dispositivo).

+0

grazie, sembra buono. Spero che il tablet Google supporti questo metodo. – chriz

Problemi correlati