Android TextView 支持哪些 HTML 标记?

Android 的 TextView 类可以通过 HTMLformml ()显示格式化的文本,例如: 用于 TextView 的字符串中的 HTML 标记

TextView 类只能处理 HTML 的一小部分,但我不知道哪些标记和属性受支持,哪些不受支持。这里给出的总结是: http://commonsware.com/blog/Android/2010/05/26/html-tags-supported-by-textview.html似乎不正确。例如,使用 Android 2.2时,我无法工作

97927 次浏览

我注意到这篇文章:

Https://web.archive.org/web/20171118200650/http://daniel-codes.blogspot.com/2011/04/html-in-textviews.html

列出了 Html.from Html ()所支持的 < div > ,但是它没有显示对“ ligin”属性的支持。

(该页面上的标记显示了其他支持的属性。)

作者说,他是通过查看 Android 的 git 仓库中的代码来构建这个参考的。

编辑: 随着时间的推移,支持的标签列表似乎已经发生了变化。

基于这两篇文章,我建议检查源代码似乎是获得最新信息的最可靠的方法。

对 strings.xml 文件中的字符串使用 CData 部分的最佳方法是在 TextView 中实际显示 html 内容,下面的代码片段将为您提供一个很好的想法。

//在 string.xml 文件中

<string name="welcome_text"><![CDATA[<b>Welcome,</b> to the forthetyroprogrammers blog Logged in as:]]> %1$s.</string>

Java 代码

String welcomStr=String.format(getString(R.string.welcome_text),username);
tvWelcomeUser.setText(Html.fromHtml(welcomStr));

即使使用 String.format 方法格式化文本,字符串文本中的 CData 部分也能保持 html 标记数据的完整性。因此,Html.from Html (str)可以正常工作,您将看到欢迎消息中的粗体文本。

产出:

欢迎来到你最喜欢的音乐应用商店,用户名登录

由于它不断更新,跟踪 Android 中支持哪些 HTML 标记的最佳方法是检查 Html.java的源代码

帮大家查了一下。

日期: 二零一七年七月

资料来源: https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/text/Html.java

From Html 支持:

  • P
  • Li
  • Div
  • 跨度
  • 坚强
  • B
  • Em
  • 引用
  • DFN
  • 很大
  • 很小
  • 字体
  • 引用
  • Del
  • 是的
  • 罢工
  • 你好
  • 潜艇
  • H1
  • H2
  • H3
  • H4
  • H5
  • H6
  • IMG
  • BR