2012-03-05 127 views
1

我想爲MultiAutoCompleteTextView中的字符串添加背景顏色。使用Html.fromHtml突出顯示文本

我重寫在multipleAutocompletetextview replaceText方法,試圖用HTML取代charactersequence這樣

@Override 
protected void replaceText(CharSequence text) { 

    // TODO Auto-generated method stub 
    String styledText = "<font color='red'>"+text+"</font>."; 
    super.replaceText(Html.fromHtml(styledText)); 
} 

這是工作的罰款。我可以更改字體顏色。但是我想爲字體添加背景顏色。有人可以建議我,如何實現這一目標?

(我們添加的標籤,同時創造問題,samething我試圖用MultiAutoCompleteTextView實施方式。我想補充的背景選定的字符串。)提前

感謝

回答

3

Html.fromHtml不支持設置背景顏色。

您將不得不採取由Html.fromHtml返回的SpannedString並將BackgroundColorSpan設置爲您要設置背景顏色的文本。

喜歡的東西:

new SpannableString(styledText).setSpan(
    new BackgroundColorSpan(Color.YELLOW), 0, styledText.length(), 
     Spanned.SPAN_INCLUSIVE_EXCLUSIVE); 

另請參見: http://developer.android.com/reference/android/text/SpannableString.htmlhttp://developer.android.com/reference/android/text/style/package-summary.html

可以以及通過自己的TagHandler爲Html.fromHtml(String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler),以支持更多的HTML標籤。 請參閱http://developer.android.com/reference/android/text/Html.TagHandler.html

1

使用Android中的SpannableString和BackgroundColorSpan。