方法
public Spanned fromHtml(String html) {
Spanned result;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
result = Html.fromHtml(html, Html.FROM_HTML_MODE_LEGACY);
} else {
// This method is deprecated but need to use for old os devices
return Html.fromHtml(html);
}
return result;
}
输入
String description = "Normal text <mark style=\"font-weight:600;color:#000;\">highlight this text</mark> not working";
它在TextView
上显示普通文本。
似乎Html.Java不包含标记标签。有什么解决方法吗?
请不要使用起始索引和结束索引来建议可扩展的字符串,因为字符串lengh是动态的。
答案 0 :(得分:3)
有什么解决方法吗?
选项1:更改文本以在源头使用受支持的标记,以避免使用<mark>
选项2:创建自己的解析器,可以处理此标记,标识开始和结束位置,并使用Spanned
,the way that Html
does
SpannableStringBuilder
选项3:使用正则表达式尝试用某些受支持的标记替换<mark>
和</mark>
,然后用Html
解析修改后的字符串
选项4:使用WebView
渲染此标记
选项5:使用正则表达式尝试消除<mark>
和</mark>
标记,因此您可以只使用纯字符串