我希望highlight
我的文字的某些部分将显示在TextView
中。我知道我们可以在Android中使用SpannableString
来突出显示文本的某些部分。但我想知道,我们如何使用<span>
html标签来做同样的事情。我尝试使用以下代码来实现此目的:
String str = "<span style=\"background-color:#ffff00\"> Highlighted </span> Text";
TextView tv = (TextView) findViewById(R.id.textView);
tv.setText(Html.fromHtml(str));
但显示的文字与没有span标签的文字相同。
有什么问题?如何在不使用SpannableString
的情况下执行相同的操作?
提前致谢:)
答案 0 :(得分:8)
有什么问题?
Html.fromHtml()
在支持的标签方面受到限制。几年前Here is a blog post显示标记fromHtml()
的名单。即使在the current code(截至撰写本文时),也没有任何内容可以生成您正在寻找的BackgroundColorSpan
。
没有什么可以阻止某人创建一个更丰富的HTML-&gt; Spanned
转换器,它可以处理这样的<span>
标签,但我目前还不知道存在任何标签。
因此,目前,您将无法自己申请BackgroundColorSpan
。 Here is a sample project我使用BackgroundColorSpan
突出显示搜索特定子字符串的字符串的结果。