Android TextView支持哪些HTML标记?

时间:2012-03-17 21:51:08

标签: android html textview

Android的TextView类可以通过HTML.fromHtml()显示格式化文本,如下所示:HTML tags in string for TextView

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

4 个答案:

答案 0 :(得分: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/

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

答案 1 :(得分:22)

为所有搜索它的人查找。

日期:2017年7月

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

Html.fromHtml支持:

  • P
  • UL
  • DIV
  • 跨度
  • B'/ LI>
  • EM
  • DFN
  • I
  • 字体
  • BLOCKQUOTE
  • TT
  • 一个
  • û
  • 德尔
  • 取值
  • SUP
  • H1
  • H2
  • H3
  • H4
  • H5
  • H6
  • IMG
  • BR

答案 2 :(得分:7)

对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>

Java代码

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

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

  

输出:

     

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

答案 3 :(得分:4)

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