在Android应用程序中显示html格式的文本

问题描述:

我正在将一个web应用程序移植到android平台。该应用程序将包含一些网页内容(使用WebView访问)和一些脱机内容。我需要在主屏幕中显示一定数量的文本作为离线内容,而且我有点困惑如何去做。我已经浏览了格式化文本的android文档,但是在处理超过几行文本时,我发现它有点繁琐。所以我正在考虑创建一些HTML页面并将它们包含在我的应用程序的res文件夹中。然后使用WebView加载它们。使用这种方法是否明智?还是有更好的出路?在Android应用程序中显示html格式的文本

那么简单的文字,你总是可以做下面的一个TextView

someTextView.setText(Html.fromHtml(htmlAsAString)); 

如果像你说的是更复杂(有图片和/或CSS等),我建议你把HTML中资产/文件夹并从那里直接加载到WebView

Html类可以格式化HTML文本,但它是相当有限的。 你可以在这里阅读文档: http://developer.android.com/reference/android/text/Html.html

,你可能最感兴趣的是Html.fromHtml(java.lang.String)的方法。它将返回一个Spanned对象,然后您可以通过简单地调用textView.setText(..)来使用该对象来填充TextView

如果您发现它不提供所需的HTML标签支持,那么您很可能最终会使用WebView

+0

是的我已经尝试过'Html.fromHtml()',但它只支持非常有限的HTML标签 – 2013-03-04 09:56:44