Android Webview 在ICS 4.0+上渲染不正确。

3
我正在处理一个 Android 应用程序的问题。
我将一个本地存储的 HTML 加载到 WebView 中,并设置了:
webSettings.setLoadWithOverviewMode(true);

webSettings.setUseWideViewPort(true);

webSettings.setJavaScriptEnabled(true);

它的功能很好,但在ICS 4.0+上却不能工作。
有什么想法吗?
以下是一些截图来记录错误:

Correct layout Broken layout

提前感谢

2个回答

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;
}

查看原始帖子

或者你尝试过这个吗?

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

谢谢你的提示。不幸的是,它并没有产生任何区别。 - user1787952
@user1787952 我已经更新了答案,请试一试。另外,请问你的问题是特定于设备还是仅限于 Android 版本? - Suraj Bajaj

0
对我来说,这更像是你的CSS代码中的样式问题。尝试调整宽度大小。
你可能想要为移动设备加载不同的CSS。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接