如何从远程加载的URL网页显示本地图像?

时间:2013-06-01 13:51:58

标签: android

我已经实现了一个移动网页,其中一些图片引用了android资产中的一些图片。

<img src="file:///android_asset/assets/pictures/1.jpg" border="0" />

(1.jpg在android目录/ assets / pictures /下)

此页面放在我的服务器中。

在活动中,此网页将加载到webview中。但为什么webview无法显示该图片呢?

webview.loadUrl("http://abc.com/page.html");

=======编辑======

这是设置

    final MyActivity activity = this;
    webview.setWebChromeClient(new WebChromeClient() {
        @Override
        public void onProgressChanged(WebView view, int progress) {
            activity.setProgress(progress * 1000);
        }
    });
    webview.setWebViewClient(new WebViewClient() {
        @Override
        public void onReceivedError(WebView view, int errorCode,
            String description, String failingUrl) {

        }
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    });
    webview.loadUrl("http://abc.com/page.html");

Android SDK:

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

2 个答案:

答案 0 :(得分:0)

您可以在页面内容中使用base64嵌入式图像(无需为限制文件系统的链接而烦恼)

<img src="data:image/jpg;base64,xxxxxxxxx"/>

答案 1 :(得分:0)

由loadUrl()方法加载的页面不加载与file:/// android_asset / ...链接的图像,但您可以使用org.apache.http.client.methods.HttpGet.HttpGet()获取HTML页面,然后使用loadDataWithBaseURL()将其传递给WebView - 这样WebView将加载与file:/// android_asset / ...链接的资源。