2012-07-13 9 views
5

Tengo un TextView que contiene anhela texto que cubre la mitad de la pantalla,Encontrar las coordenadas de una carta colocada en TextView

En este TextView tengo dos palabras en diferente posición por encima de lo que tengo que colocar un diseño en blanco que le dará un efecto de vidrio.

Puedo hacer esto colocando la vista de texto en un marco de trabajo y colocando el diseño encima de él.

El problema es cómo obtendré las coordenadas de las palabras, ya que el texto puede organizarse en diferentes posiciones en diferentes dispositivos.

enter image description here

que desea colocar un diseño en el lugar marcado blanco. ¿Puede alguien por favor ayuda Gracias.

+0

había hizo igual pero sólo para enlaces usando 'cadena spannable' .. Si usted quiere hacer mismo compruebe -> http://stackoverflow.com/questions/7683076/urlspan-in-spannablestring ..! – AndiGeeky

Respuesta

3

Esto será útil para usted

public void getLocationOnScreen (int[] location) 
    Since: API Level 1 

Computes the coordinates of this view on the screen. The argument must be an 
array of two integers. After the method returns, the array contains the x and y 
location in that order. 

Parameters 
    location an array of two integers in which to hold the coordinates 

Descubre this código, this enlace, y también this enlace.

+0

Gracias, tengo que probar esto – Hardik4560

1

No estoy seguro de que pueda obtener las coordenadas del texto directamente desde TextView; debe buscar dentro del código fuente de la clase TextView. Pero ... si representa la vista de texto como mapa de bits y luego busca dentro del mapa de bits las coordenadas del texto (si el texto buscado es azul, debería ser fácil obtener el rectángulo!

+0

Gracias por la respuesta, pero hacer que la vista de texto como mapa de bits no sea una buena idea para mi aplicación, ya que es demasiado pesada. – Hardik4560

-1

Lo que realmente quiere aquí es un backgroundspan:

span = new BackgroundColorSpan(Color.WHITE); 
text.setSpan(span, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 
Cuestiones relacionadas