1

我想要将highlight我的文本的某些部分显示在TextView. 我知道我们可以SpannableString在 Android 中使用来突出显示我的文本的某些部分。但我想知道,我们如何使用<span>html 标签来做同样的事情。我试图达到这一点,使用如下代码:

String str = "<span style=\"background-color:#ffff00\"> Highlighted </span> Text";
TextView tv = (TextView) findViewById(R.id.textView);
tv.setText(Html.fromHtml(str));

但显示的文本是没有跨度标签的相同文本。

怎么了 ?我怎么能不使用做同样的事情SpannableString

提前致谢 :)

4

1 回答 1

8

怎么了 ?

Html.fromHtml()在它支持的标签方面受到限制。这是几年前的一篇博客文章fromHtml(),显示了当时支持的标签名册。即使在当前代码中(截至撰写本文时),也没有生成BackgroundColorSpan您正在寻找的内容。

没有什么可以阻止某人创建一个更丰富的 HTML->Spanned转换器来处理此类<span>标签,尽管我目前不知道有任何存在。

因此,目前,您将被困在BackgroundColorSpan自己的应用程序中。这是一个示例项目,我用它BackgroundColorSpan来突出显示在字符串中搜索特定子字符串的结果。

于 2012-09-05T16:20:20.293 回答