Cordova:如何启用视口缩放

4

我目前正在尝试在 Cordova Android(webview)上启用本地视口缩放(就像我所说的本机 web 缩放)。

这是我的 viewport 标签:

 <meta name="viewport" content="user-scalable=yes, initial-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />

我尝试了类似这样的东西:

         function onDeviceReady() {


                ImgCache.options.chromeQuota = 50*1024*1024;

                var domElement = document.getElementById('main-html');
                angular.bootstrap(domElement, "myApp");

                webView.getSettings().setBuiltInZoomControls(true); // this line

            }

如下所述:如何在WebView中启用缩放控件和捏合缩放?

但是它不起作用。我漏掉了什么?


你想要缩放特定区域还是整个应用程序? - Amit Prajapati
尝试在元标签中添加width=100%,height=100%,然后尝试一下...我认为会缩放... - vinay Maneti
1个回答

1
尝试这个。

将以下内容放入你的index.html文件中

<meta name="viewport" content="user-scalable=yes, initial-scale=1, maximum-scale=2, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />

将以下内容放入src/com/packagename目录下的主Android Java文件的onCreate方法中:
super.appView.getSettings().setBuiltInZoomControls(true);
super.appView.getSettings().setDefaultZoom(ZoomDensity.MEDIUM); 
super.appView.getSettings().setSupportZoom(true);

在您的Java主文件中还需要添加以下软件包:
import android.webkit.WebSettings; 
import android.webkit.WebSettings.ZoomDensity;

希望这有所帮助…

当然有帮助!谢谢!请注意:'super.appView.getSettings().setDefaultZoom(ZoomDensity.MEDIUM);'在编译时出现错误,因此我对其进行了注释。 - enguerranws
太好了。对于错误感到抱歉。已经更新了缺失的软件包,现在不应该有任何错误了 :) - Jagat Kothari
在2019年,任何人看到这篇文章可能需要使用一个Webview对象,而不是super.appView。你可以使用WebView webView = (WebView) appView.getEngine().getView();来获取它,就像这个评论中所示。 - Andrew Dant

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