Android TextView支持哪些HTML标签?
Android的TextView类可以通过HTML.fromHtml()来显示格式化的文本,如下面的例子所示: TextView的string中的HTML标签
TextView类只能处理HTML的一小部分,但我不知道支持哪些标记和属性,哪些不支持。 这里给出的总结: http : //commonsware.com/blog/Android/2010/05/26/html-tags-supported-by-textview.html似乎并不正确。 例如<div align =“…”>不适用于我使用Android 2.2
我注意到这篇文章:
http://daniel-codes.blogspot.com/2011/04/html-in-textviews.html
列表<div>被Html.fromHtml()支持,但是不支持“align”属性。
(其他支持的属性显示在该页面上的标签。)
作者说他通过在Android的git仓库中查看代码来构build参考。
编辑:随着时间的推移,它似乎支持的标签列表已经改变。 请稍后查看这篇文章,例如: http : //www.grokkingandroid.com/android-quick-tip-formatting-text-with-html-fromhtml/ 。
基于这两篇文章,我build议检查源代码似乎是获取最新信息的最可靠的方法。
为所有人search它。
date: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
- (感谢Carlo Conserva的贡献)
对于strings.xml文件中的string使用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));
即使在使用String.format方法格式化文本之后,string文本中的CData部分也可以保持html标记数据不变。 所以,Html.fromHtml(str)工作正常,你会看到欢迎消息中的粗体文本。
输出:
欢迎到您最喜爱的音乐应用程序商店。 以用户名login
由于它不断更新,追踪Android支持哪些HTML标签的最好方法是检查Html.java的源代码
if ( android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) { tvDocument.setText(Html.fromHtml(bodyData,Html.FROM_HTML_MODE_LEGACY)); } else { tvDocument.setText(Html.fromHtml(bodyData)); }
在这里input链接描述