【问题标题】:Android Webview not rendering correctly on ICS 4.0 +Android Webview 无法在 ICS 4.0 + 上正确呈现
【发布时间】:2015-05-15 10:31:22
【问题描述】:

我正在开发的 Android 应用有问题。

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

webSettings.setLoadWithOverviewMode(true);

webSettings.setUseWideViewPort(true);

webSettings.setJavaScriptEnabled(true);

效果很好,但不适用于 ICS 4.0+。

有什么想法吗?

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

提前致谢

【问题讨论】:

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


    【解决方案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");
    

    【讨论】:

    • 感谢您的提示。不幸的是,它没有任何区别
    • @user1787952 我已经更新了答案,试试这个。另外,请告诉我您的问题是特定于设备还是特定于 Android 版本?
    【解决方案2】:

    在我看来,这更像是 CSS 代码中的样式问题。尝试使用宽度大小。

    您可能需要加载不同的 css 以便在移动设备上查看它。

    【讨论】:

      猜你喜欢
      • 2012-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-05
      • 1970-01-01
      相关资源
      最近更新 更多