Android Webview not rendering correctly on ICS 4.0 +

半城伤御伤魂 提交于 2019-12-10 20:32:01

问题


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


回答1:


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");



回答2:


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.



来源:https://stackoverflow.com/questions/13154268/android-webview-not-rendering-correctly-on-ics-4-0

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!