如何在android中在EditText上呈现HTML
朋友们 当我试图将字符串更改为html并在EditText控件上呈现相同的字符串时,它无法正常工作 Span无法识别为HTML如何在android中在EditText上呈现HTML,android,html,html-rendering,Android,Html,Html Rendering,朋友们 当我试图将字符串更改为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-lin
<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>
粗体
斜体
强调
- hieeeeeeee
如何在EditText中呈现给定的HTML。如果我谈论下面的HTML,它会被渲染
<p dir="ltr">Testing<br>
<b>Bold</b><br>
<i>Italic</i><br>
<u>Underline</u></p>
测试粗体
斜体
下划线 由于跨度的原因,无法对其进行渲染
请帮我做同样的事情。任何建议由于EditText默认从TextView扩展而来,因此它支持以下标记:
<a>
<annotation>
<b>
<big>
<font>
<i>
<li>
<marquee>
<small>
<strike>
<sub>
<sup>
<tt>
<u>
Html.fromHtml
-
Option#1:编写代码,将您收到的HTML翻译成HTML.fromHtml()
可以处理的HTML。选项#2:编写代码来解析您收到的HTML,并使用您自己的跨度生成您自己的span
对象。您可以按照以下步骤操作:
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 ))
}
<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>