简体   繁体   中英

Android Webview not rendering correctly on ICS 4.0 +

I have a problem with an Android app I am working on.

I loaded a locally stored HTML into a WebView and set:

webSettings.setLoadWithOverviewMode(true);

webSettings.setUseWideViewPort(true);

webSettings.setJavaScriptEnabled(true);

It works great, but just not on ICS 4.0+.

Any ideas what to do?

Here are some screenshots to document the error:

正确的布局布局破碎

Thanks in advance

Give this a try:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

switch (metrics.densityDpi) {
case DisplayMetrics.DENSITY_HIGH:
    webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
    break;

case DisplayMetrics.DENSITY_MEDIUM:
    webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.MEDIUM);
    break;

case DisplayMetrics.DENSITY_LOW:
    webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.CLOSE);
    break;

default:
    webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.MEDIUM);
    break;
}

See original post

OR Have you tried this?

WebView webview1 = (WebView) findViewById(R.id.webview1);
webview1.setInitialScale(90);
webview1.loadUrl("http://stackoverflow.com");

To me this looks more like a styling issue in your CSS code. Try playing around with the width sizes.

You might want to load a difference css for viewing it on a mobile device.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM