我正在尝试为MultiAutoCompleteTextView中的字符串添加背景颜色。
我在multipleAutocompletetextview中覆盖了replaceText方法,试图用这样的html替换字符序列
@Override
protected void replaceText(CharSequence text) {
// TODO Auto-generated method stub
String styledText = "<font color='red'>"+text+"</font>.";
super.replaceText(Html.fromHtml(styledText));
}
这很好用。我可以改变字体颜色。但我想为字体添加背景颜色。任何人都可以建议我,如何实现这个目标?
(我们在创建问题时添加标签的方式,我尝试使用MultiAutoCompleteTextView实现的内容。我想为所选字符串添加背景。)
提前致谢
答案 0 :(得分: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.html, http://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 :(得分:1)
使用android中可用的SpannableString和BackgroundColorSpan。