2012-09-05 27 views
1

我想highlight我的文本的某些部分將顯示在TextView中。我知道我們可以在Android中使用SpannableString來突出顯示我的文本的某些部分。但我想知道,我們如何使用<span> html標籤來做同樣的事情。我試圖達到此目的,使用代碼如下:在TextView中支持<span>標記的方法

String str = "<span style=\"background-color:#ffff00\"> Highlighted </span> Text"; 
TextView tv = (TextView) findViewById(R.id.textView); 
tv.setText(Html.fromHtml(str)); 

但顯示的文本是相同的文本沒有span標記。

出了什麼問題?如何在不使用SpannableString的情況下做同樣的事情?

感謝提前:)

回答

7

有什麼不對?

Html.fromHtml()在它支持的標籤方面受到限制。幾年前的Here is a blog post顯示了當時支持的標籤fromHtml()的名單。即使在the current code(截至撰寫本文時),也不會生成您正在尋找的BackgroundColorSpan

沒有什麼能阻止某人創建一個更豐富的HTML->Spanned轉換器,它可以處理這樣的<span>標籤,但我目前還沒有意識到任何存在。

因此,目前,您將被卡住,自己申請BackgroundColorSpanHere is a sample project其中我使用BackgroundColorSpan突出顯示搜索特定子字符串的字符串的結果。

+0

非常感謝你:)好的解釋,接受並投票了。 –