如何在addroid Web视图中从相对URL加载图像

时间:2018-02-28 08:39:40

标签: android android-webview protocol-relative

我想在android web视图中显示来自相对网址的图像(//via.placeholder.com/350x150) 虽然我可以看到html,但是在Web视图中图像被破坏了。

下面是我从自定义html加载图片的代码,传递给webview.loadData函数。

  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.webview);

    webView = (WebView) findViewById(R.id.webView1);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setDomStorageEnabled(true);
    String customHtml ="<html>\n" +
            "<body>\n" +
            "\n" +
            "    <h3>A demonstration of how to access an IMG element</h3>\n" +
            "\n" +
            "    <img id=\"myImg\" src=\"//via.placeholder.com/350x150\" alt=\"The Pulpit Rock\" width=\"304\" height=\"228\">\n" +
            "\n" +
            "    <p>Click the button to get the URL of the image.</p>\n" +
            "\n" +
            "    <button onclick=\"myFunction()\">Try it</button>\n" +
            "\n" +
            "    <p id=\"demo\"></p>\n" +
            "\n" +
            "    <script>\n" +
            "        function myFunction() {\n" +
            "        var x = document.getElementById(\"myImg\").src;\n" +
            "        document.getElementById(\"demo\").innerHTML = x;\n" +
            "        }\n" +
            "    </script>\n" +
            "\n" +
            "</body>";

   webView.loadData(customHtml, "text/html", "UTF-8");       
}

我有适当的许可

  <uses-permission android:name="android.permission.INTERNET"/>;

enter image description here

在我的情况下,主要问题是,我总是得到带有相对网址的图片,即它不会在网址上附加http:或https:。 那么我应该在android中使用什么设置或功能来显示来自相对URL协议的图像。

请帮忙。

2 个答案:

答案 0 :(得分:0)

此问题是带有错误src的customHtml。 替换

src=\"//via.placeholder.com/350x150\"

src="http://via.placeholder.com/350x150"

答案 1 :(得分:0)

/index.html
/bin/image.png

<img src="/bin/image.png" /> will not currently work.
<img src="./bin/image.png" /> will work.