【问题标题】:setInitialScale for older devices?旧设备的 setInitialScale?
【发布时间】:2021-02-11 09:54:14
【问题描述】:

我目前正在开发一个 webView 应用程序, 但我就是无法进行初始缩放,启动应用时应该是 150%。

private static final int zoom = 150;
webView.setInitialScale(zoom);

这似乎在较新的设备上运行良好,但是否也有旧设备的替代品?

【问题讨论】:

    标签: java android-studio webview android-webview


    【解决方案1】:

    好的,我必须解决它。如果有人在某个时间点遇到同样的问题:

    import java.lang.reflect.Method;
    import java.lang.reflect.InvocationTargetException;
    
    webView = new WebView(this);
            webView = (WebView)findViewById(R.id.webview);
            webView.getSettings().setLoadsImagesAutomatically(true);
            webView.getSettings().setJavaScriptEnabled(true);
            webView.getSettings().setBuiltInZoomControls(true);
            webView.setInitialScale(65);
            try {
                Method m = webView.getClass().getMethod("setIsCacheDrawBitmap", boolean.class);
                if (m != null) {
                    m.invoke(webView, false);
                    webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);
                }
            } catch (NoSuchMethodException e) {
            } catch (IllegalAccessException e) {
            } catch (InvocationTargetException e) {
            }
    
            webView.loadUrl("https://duckduckgo.com/");
    

    在这里找到解决方案: https://stackoom.com/question/Ch6v/Android-WebView%E4%B8%8D%E5%B0%8A%E9%87%8D%E7%BC%A9%E6%94%BE%E7%99%BE%E5%88%86%E6%AF%94

    【讨论】:

      猜你喜欢
      • 2018-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多