2011-06-08 26 views
17

我想要顯示'123',但在紅色2中顯示綠色1和黑色3 ... 這是可能的,或者是否有任何其他建議的方式顯示不同的文本顏色在同一個文本視圖中...可以textview有不同顏色的字母?

+0

我沒有代碼,但它可以是d一個使用html文本 – ingsaurabh 2011-06-08 13:28:54

+0

爲什麼?你做一個線性佈局並膨脹texteview insade有很多你想要的:D – PedroAGSantos 2011-06-08 13:29:04

回答

2

啊,我發現它使用下面的代碼

myTextView.setText(Html.fromHtml(html text having 1 in red 2 in green and so on)); 

我不知道網絡讓你更好的諮詢人誰可以寫HTML你:P

+0

tnx,這裏有更多coplete String styledText =「 asd」; cache.timeView.setText(Html.fromHtml(styledText)); – Lukap 2011-06-08 13:46:12

+2

我不認爲使用html是正確的路要走。 – Kaj 2011-06-08 13:55:54

+1

爲什麼html不是正確的方式@Kaj? – Alesqui 2013-09-06 16:32:37

60

是的,如果您使用的是SpannableString,則可以在文本的不同位置使用不同的顏色。例如:

SpannableString text = new SpannableString("Lorem ipsum dolor sit amet"); 
// make "Lorem" (characters 0 to 5) red 
text.setSpan(new ForegroundColorSpan(Color.RED), 0, 5, 0); 
textView.setText(text, BufferType.SPANNABLE); 

有一個更完整的例子here

Javadoc for SpannableString

+1

你的答案應該被標記爲正確的(不是標記正確的那個不是,但我覺得這是一個正確的方法)。 – Leeeeeeelo 2013-01-18 08:46:48

1

可以打印線與多個顏色沒有這樣的HTML :)

TextView TV = (TextView)findViewById(R.id.mytextview01); 

    Spannable WordtoSpan = new SpannableString("Your message");   

WordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 0, WordtoSpan .length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

TV.setText(WordtoSpan); 
相關問題