在TextView中支持<span>标记的方法</span>

时间:2012-09-05 16:06:12

标签: android html textview

我希望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的情况下执行相同的操作?

提前致谢:)

1 个答案:

答案 0 :(得分:8)

  

有什么问题?

Html.fromHtml()在支持的标签方面受到限制。几年前Here is a blog post显示标记fromHtml()的名单。即使在the current code(截至撰写本文时),也没有任何内容可以生成您正在寻找的BackgroundColorSpan

没有什么可以阻止某人创建一个更丰富的HTML-&gt; Spanned转换器,它可以处理这样的<span>标签,但我目前还不知道存在任何标签。

因此,目前,您将无法自己申请BackgroundColorSpanHere is a sample project我使用BackgroundColorSpan突出显示搜索特定子字符串的字符串的结果。