Hellos Mates,
当我尝试将字符串更改为html并在EditText控件上呈现相同时,它无法正常工作。
Span无法识别为HTML
<span style="font-weight: bold;">Bold</span>
<div><span style="font-style: italic;">ITALIC</span></div>
<div><span style="text-decoration-line: underline;">UNDERLINE</span></div>
<div><span style="text-decoration-line: underline;"><br></span></div><div><ul><li>hieeeeeeeeeeeeee<br></li></ul></div>
如何在EditText中呈现给定的HTML。如果我谈论下面的HTML,它会被渲染
<p dir="ltr">Testing<br>
<b>Bold</b><br>
<i>Italic</i><br>
<u>Underline</u></p>
因为跨度而没有渲染。
请帮忙。任何建议
答案 0 :(得分:1)
由于EditText默认从TextView扩展,因此它支持以下标记:
<a>
<annotation>
<b>
<big>
<font>
<i>
<li>
<marquee>
<small>
<strike>
<sub>
<sup>
<tt>
<u>
因此,如果传递为简单<span>
String
但您可以使用Html.FromHtml()
渲染它 String text = "<span style=\"font-weight: bold;\">Bold</span>";
if (Build.VERSION.SDK_INT >= 24) {
// for 24 api and more
editText.setText(Html.fromHtml(text , Html.FROM_HTML_MODE_LEGACY))
} else {
// or for older api
editText.setText(Html.fromHtml(text ))
}
Html.fromHtml supports following tags
<br>
<p>
<ul>
<li>
<div>
<span>
<strong>
<b>
<em>
<cite>
<dfn>
<i>
<big>
<small>
<font>
<blockquote>
<tt>
<a>
<u>
<del>
<s>
<strike>
<sup>
<sub>
<img>