【问题标题】:WebView vs TextView for displaying html content用于显示 html 内容的 WebView 与 TextView
【发布时间】:2016-05-03 14:50:43
【问题描述】:

我的 android 应用程序中有许多 html 页面作为字符串。因此,您可以将其可视化为List<String> myWebPages,其中每个网页都是配备 css 和 javascript 以及 html 正文的 html 页面。向用户显示这些网页的最佳方式是什么?我应该使用 WebView 还是应该使用 TextView?请注意,我没有 WebView 的 url;我将如何传递字符串?至于TextView,它可以用css和javascript处理完整的网页吗?

更新

当我使用时

webView.loadData(Html.fromHtml(value).toString(), "text/html", "UTF-8");

我的代码是一堆废话;它显然不能很好地解释 css 等。

为了完整起见,这是我的 html 代码(无论如何都是模板)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <link href="/stylesheets/shCore.css" rel="stylesheet" type="text/css"/>
    <link href="/js/style/shThemeDefault.css" rel="stylesheet" type="text/css"/>
    <script src="/js/shCore.js" type="text/javascript"></script>
    <script src="/js/shAutoloader.js" type="text/javascript"></script>
    <script type="text/javascript" src="/js/shBrushPython.js"></script>
    <script type="text/javascript" src="/js/shBrushJava.js"></script>
    <script type="text/javascript">
    SyntaxHighlighter.all();



    </script>
    <link rel="stylesheet" href="/stylesheets/jquery-ui.css"/>
    <link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon"/>
    <script src="/js/jquery/jquery-1.8.3.js"></script>
    <script src="/js/jquery/jquery-ui.js"></script>

    <style>

        .syntaxhighlighter .toolbar {
        background-color: #ffffff !important;
        color: #ffffff !important;
        }

        .syntaxhighlighter .toolbar a,.syntaxhighlighter .toolbar a:hover {
        background-color: #ffffff !important;
        color: #ffffff !important;
        }

    </style>
</head>

<body>

<pre class='brush:java'>my java code in here </pre>

</body>
</html>

顺便说一句,我不是网络开发人员,所以 html 是我的最大努力(如果你发现错误)

【问题讨论】:

  • TextView 用于显示文本,需要注意的是您可以向文本添加简单的图标。除此之外,它无法解释或显示 HTML/CSS。

标签: javascript android css webview textview


【解决方案1】:

我应该使用 WebView 还是应该使用 TextView?

由于TextView 不支持 CSS 或 JavaScript,您别无选择,只能使用 WebView

请注意,我没有 WebView 的 url;我将如何传递字符串?

WebView 上调用loadData(),传递HTML。

【讨论】:

  • @KatedralPillon:“我的代码是一堆废话;它显然不能很好地解释 css 等”——您使用的是相对于 CSS 的 URL。充其量,如果您使用 loadDataWithBaseURL() 来说明这些相对 URL 是相对于什么,这可能会起作用。
  • 谢谢。我已经使用webView.loadDataWithBaseURL(url,value, "text/html", "UTF-8",url); 完成了此操作,内容现在正在显示,但没有应用任何 css。
猜你喜欢
  • 2014-01-05
  • 1970-01-01
  • 2011-04-07
  • 2014-02-14
  • 1970-01-01
  • 2015-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多