2012-03-05 128 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。