使用存储在Android中的String中的文本将图像添加到webview

时间:2014-10-06 13:42:42

标签: android html webview

我在资源文件夹中有一些图像image1.jpg,image2.jpg等。如何使用带有标签的html来显示这些图像,如下所示:

 WebView webView = (WebView) findViewById(R.id.webView1);
 String desc = "Hello, This is my newly created App with the icon 
<img src='file://android_asset/image1.jpg'>. Since i'm new to android i'm learning
     it step by step. <img src='file://android_asset/image2.jpg'> Thank you so much.";
 webView.loadData(desc, "text/html","utf-8");

当我尝试上面时,图像没有显示。所以我尝试了:

 webView.loadDataWithBaseURL("file:///android_asset/", "<img src='image1.jpg' />"+desc, "text/html", "utf-8", null);

这里只能显示image1,但不能显示image2。

我尝试了很多使用loadDataWithBaseURL的例子,但所有这些都有助于在webview上显示一个图像。但我想显示这个字符串&#34; desc&#34;在webview中,如文本后跟图像,然后是文本。请有人告诉我如何尽快解决这个问题 提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以在WebView中放入完整的HTML。您应该继续使用HTML进行研究。

StringBuilder sb = new StringBuilder();
                sb.append("<html><body><div style=\"width:100%; text-align:center; font-size:large;\">");
                sb.append("my title of image");
                sb.append("</div>");
                sb.append("<style type=\"text/css\"> .imk {width:100%;}</style>"
                sb.append("<img class=\"imk\"");
                sb.append(" src=\"");
                sb.append("image1.jpg");
                sb.append("\"/>");
                sb.append("</body></html>");
                View v = getView();
                if (v != null) {
                    wv = (WebView) v.findViewById(R.id.webView1);
                    if (wv != null) {
                        String localPath = "file://" + path;//actual image path
                        String temp = sb.toString();
                        wv.loadDataWithBaseURL(localPath, temp, "text/html",
                                "UTF-8", "");
                    }
                }