2011-12-23 20 views
5

Sto utilizzando l'ascoltatore tattile sulla visualizzazione testo. Posso ottenere le coordinate del tocco attraverso l'evento di movimento.Coordinate touch nella visualizzazione testo

È possibile ottenere l'indice dei caratteri o le coordinate del carattere vicino su cui ho fatto clic.

Eg., Hello Android

Questo è il mio testo. Ora posso ottenere le coordinate x y ma posso ottenere l'indice dei caratteri, ad esempio A, quando lo tocco.

risposta

12

dovete overide onTouch()

Provare con il seguente

public boolean onTouch(View v, MotionEvent event) { 
     // TODO Auto-generated method stub 
     Layout layout = ((TextView) v).getLayout(); 
      int x = (int)event.getX(); 
      int y = (int)event.getY(); 
      if (layout!=null){ 
       int line = layout.getLineForVertical(y); 
       int characterOffset = layout.getOffsetForHorizontal(line, x); 
       Log.i("index", ""+characterOffset); 
       } 
      return true; 


    } 
+0

questo mi aiuta molto. ho cercato come evidenziare il testo in textview. –