Android Studio 为旧设备设置InitialScale?

oalqel3c  于 2023-10-23  发布在  Android
关注(0)|答案(1)|浏览(180)

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

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

这似乎在较新的设备上工作得很好,但是否也有替代旧设备的方法?

sbtkgmzw

sbtkgmzw1#

好吧,我得解决它。如果有人在某个时候遇到同样的问题:

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

在这里找到了解决方案:Android WebView not respecting scaling percentage

相关问题