2011-12-19 6 views
21

Czy w Androidzie istnieje możliwość dostarczenia tekstowi tekstowego kodu Java z funkcją setText (tekst) z podstawowymi znacznikami, takimi jak i , aby zaznaczone słowa były podkreślone?Może podkreślać słowa w tekście TextView

+0

możliwy duplikat [Jak wyświetlić HTML w TextView?] (Http://stackoverflow.com/questions/2116162/how-to-display-html-in-textview) –

+0

[** To ci pomoże, **] (http://stackoverflow.com/questions/2394935/can-i-underline-text-in-an-android-layout) jest to przykład, w którym można "podkreślić" tekst tekstowy, a także " kursywa ". –

Odpowiedz

30

Tak, można, użyj() metoda Html.fromhtml:

textView.setText(Html.fromHtml("this is <u>underlined</u> text")); 
+2

cóż, mam do czynienia z problemem. Oto linia kodów, która nie działa. 'textView.setText (Html.fromHtml (getResources() getString (R.string.have_activation_code)).);' ' mam kod aktywacyjny' –

+4

@ mahbub.kuet Ty umieścić swój łańcuch HTML w . Tak więc Mam kod aktywacyjny]]> JerabekJakub

+1

'Html.fromHtml' jest przestarzałe teraz –

3

Możesz używać prawie wszystkich tagów HTML w TextView. Zobacz przykład here.

28

zdefiniować jako ciąg:

<resources> 
    <string name="your_string">This is an <u>underline</u> text demo for TextView.</string> 
</resources> 
+2

Działa jak urok! Niesamowity! –

+0

działa tylko na ciągach statycznych. dobrze ? –

+0

Tak, ale można go użyć do dynamicznych ciągów znaków przy użyciu funkcji Html.fromHtml(), sprawdź powyższą odpowiedź http://stackoverflow.com/a/8558246/379693 –

8

Można użyć UnderlineSpan z SpannableString Klasa:

SpannableString content = new SpannableString(<your text>); 
content.setSpan(new UnderlineSpan(), 0, content.length(), 0); 

Następnie wystarczy użyć textView.setText(content);

3
tobeunderlined= <u>some text here which is to be underlined</u> 

textView.setText(Html.fromHtml("some string"+tobeunderlined+"somestring"));