为旧设备设置InitialScale?

问题描述 投票:0回答:1

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

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

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

java android-studio webview android-webview
1个回答
0
投票

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

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 不尊重缩放百分比

© www.soinside.com 2019 - 2024. All rights reserved.