Android TextView支持哪些HTML标记?

hol*_*erm 59 html android textview

Android的TextView类可以通过HTML.fromHtml()显示格式化文本,如下所示:TextView字符串中的HTML标记

TextView类只能处理一小部分HTML,但我不知道支持哪些标记和属性,哪些不支持.此处给出的摘要:http://commonsware.com/blog/Android/2010/05/26/html-tags-supported-by-textview.html似乎不正确.例如<div align ="...">对我使用Android 2.2不起作用

Rag*_*s93 32

查找每个搜索它的人.

日期:2017年7月

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

Html.fromHtml支持:

  • p
  • UL
  • DIV
  • 跨度
  • 强大
  • b
  • EM
  • 引用
  • DFN
  • 一世
  • 字形
  • 块引用
  • TT
  • 一个
  • ü
  • 德尔
  • 小号
  • 罢工
  • SUP
  • H1
  • H2
  • H3
  • H4
  • H5
  • H6
  • IMG
  • BR

  • .. 和 &lt;br&gt;,以及 (3认同)
  • 标签列在此行:https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/text/Html.java#791 (2认同)
  • 如果他们可以添加 &lt;pre&gt; 标签,我就不必使用 WebView 来显示开源许可证。 (2认同)

gcb*_*und 25

我注意到这篇文章:

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

将<div>列为Html.fromHtml()支持,但它不显示对"align"属性的支持.

(该页面上的标签显示其他受支持的属性.)

作者说,他通过查看Android的git存储库中的代码来构建引用.

编辑:随着时间的推移,支持的标签列表似乎已更改.请参阅后面的帖子,例如:http://www.grokkingandroid.com/android-quick-tip-formatting-text-with-html-fromhtml/.

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


小智 12

对strings.xml文件中的字符串使用CData部分以获取html内容的实际显示到TextView下面的代码片段的最佳方法将为您提供合理的想法.

//在string.xml文件中

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

Java代码

String welcomStr=String.format(getString(R.string.welcome_text),username);
tvWelcomeUser.setText(Html.fromHtml(welcomStr));
Run Code Online (Sandbox Code Playgroud)

即使在使用String.format方法格式化文本之后,字符串文本中的CData部分也使html标记数据保持不变.因此,Html.fromHtml(str)工作正常,您将在欢迎消息中看到粗体文本.

输出:

欢迎来到您最喜爱的音乐应用商店.登录为:用户名

  • 此方法在API级别24中已弃用.请改用fromHtml(String,int). (3认同)

Sid*_* Go 5

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