Android Webview无法在ICS 4.0 +上正确呈现

时间:2012-10-31 08:54:54

标签: java android android-webview android-4.0-ice-cream-sandwich

我正在使用的Android应用程序出现问题。

我将本地存储的HTML加载到WebView中并设置:

webSettings.setLoadWithOverviewMode(true);

webSettings.setUseWideViewPort(true);

webSettings.setJavaScriptEnabled(true);

效果很好,但不是ICS 4.0 +。

任何想法该怎么做?

以下是一些记录错误的屏幕截图:

Correct layout Broken layout

提前致谢

2 个答案:

答案 0 :(得分:1)

尝试一下:

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

或者你试过这个吗?

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

答案 1 :(得分:0)

对我而言,这看起来更像是CSS代码中的样式问题。尝试使用宽度尺寸。

您可能希望加载差异css,以便在移动设备上查看。