WebView无法加载图片

时间:2015-08-27 16:30:21

标签: android webview

我正在尝试在Android WebView上传我的网站,除了加载我网站上的一些图片外,一切正常。

<?
echo $this->Form->create('A');
if($evento['Evento']['habilitar_asientos']){?>
<div id="mapa_tickets" style="width:100%;height:350px;margin-bottom:15px;">
<svg width="100%" height="100%">

<?
if($evento['Evento']['imagen_recinto']){?>
    <image xlink:href="<?echo $evento['Evento']['imagen_recinto'];?>" x="0" y="0" height="100%" width="100%" class="base"/>
<?}
foreach ($ticketsActivos as $ticket) {
    if($ticket['Ticket']['imagen_recinto']){?>
        <image xlink:href="<?echo $ticket['Ticket']['imagen_recinto'];?>" x="0" y="0" height="100%" width="100%"class="<?echo $ticket['Ticket']['id'];?>"/>
    <?}
}
?>
</svg>
</div>

因此,我正在收取我的网页浏览量。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    WebView myWebView = (WebView) this.findViewById(R.id.webView1);
    myWebView.getSettings().setJavaScriptEnabled(true);
    WebSettings s = myWebView.getSettings();
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN){
        s.setAllowUniversalAccessFromFileURLs(true);
        s.setAllowFileAccessFromFileURLs(true);
    }
    myWebView.loadUrl("http://mysite.cl/eventos/evento-completo/inscripciones/seleccion_tickets/");
}

此外,在我不携带按钮的网站内,可以让你继续在这里购买,但每次点击一个按钮,它都会告诉我打开浏览器并且流程不会跟在webview中。

1 个答案:

答案 0 :(得分:4)

尝试添加此行代码,

webView.getSettings().setLoadsImagesAutomatically(true);

您也可以设置这些属性..

        webView.getSettings().setLoadsImagesAutomatically(true);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
        webView.getSettings().setBuiltInZoomControls(true);

尝试下面的代码,只需粘贴...

        webView.setWebViewClient(new MyWebView());

        webView.setWebChromeClient(new WebChromeClient() {
            public void onProgressChanged(WebView view, int progress)
            {
                progressBar.setProgress(progress);
                if(progress == 100)
                    progressBar.invalidate();
            }
        });

和 这是一个内在阶级...

private class MyWebView extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }

    @Override
    public void onLoadResource(WebView view, String url) {
        super.onLoadResource(view, url);
        progressBar.setProgress(view.getProgress());
    }

    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        progressBar.invalidate();
    }
}

我希望您已将权限添加为

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