2012-07-13 13 views
5

Mam TextView który zawiera tekst tęskni, która zakrywa połowę ekranu,Znalezienie współrzędne liście umieszczone na TextView

W tym TextView Mam dwa słowa w różnym położeniu nad którym muszę umieścić pustą układ co da jej efekt szklany.

Mogę to zrobić, umieszczając widok tekstowy w framelayout i umieszczając układ nad nim.

Problem polega na tym, w jaki sposób otrzymam współrzędne słów, ponieważ tekst może być ustawiony w różnych pozycjach na różnych urządzeniach.

enter image description here

Chcę umieścić układ w miejscu oznaczonym białym. Czy ktoś może pomóc Dzięki.

+0

ja zrobiłem to samo, ale tylko dla połączeń z wykorzystaniem 'spannable' ciąg .. jeśli chcesz zrobić sam sprawdź -> http://stackoverflow.com/questions/7683076/urlspan-in-spannablestring .. !! – AndiGeeky

Odpowiedz

3

to będzie pomocne dla Ciebie

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 

Zobacz kod this, this łącze, a także this odnośnik.

+0

Dzięki, muszę spróbować tego – Hardik4560

1

Nie jestem pewien, czy można uzyskać współrzędne dla tekstu bezpośrednio z TextView - należy przeszukać kod źródłowy klasy TextView. Ale .... jeśli renderujesz widok tekstowy jako bitmapę, a następnie przeglądasz w bitmapie, to współrzędne tekstu (jeśli szukany tekst jest niebieski, powinno być łatwe do uzyskania prostokąta!

+0

Dziękuję za odpowiedź, ale sprawdzenie tekstu jako bitmapy nie będzie dobrym pomysłem dla mojej aplikacji, ponieważ jest już zbyt ciężkie. – Hardik4560

-1

To, czego naprawdę chcesz tutaj, to backgroundspan:

span = new BackgroundColorSpan(Color.WHITE); 
text.setSpan(span, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 
Powiązane problemy