【问题标题】:Cordova : How to enable viewport zoomCordova:如何启用视口缩放
【发布时间】:2014-08-17 03:58:52
【问题描述】:

我目前正在尝试在 Cordova Android (webview) 上启用原生视口缩放(就像我的意思是原生 web 缩放)。

这是我的视口标签:

 <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

            }

正如那里所说:How to enable zoom controls and pinch zoom in a WebView?

但它不起作用。我错过了什么?

【问题讨论】:

  • 你想放大特定区域还是所有应用???
  • 尝试在元标记中放置 width=100%, height=100% 并尝试一下...我想我会放大...

标签: javascript android css cordova


【解决方案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);'编译时出错,所以我评论了。
  • 太棒了。对错误感到抱歉。用缺少的包更新了答案。现在不应该有任何错误:)
  • 任何在 2019 年看到此内容的人可能需要使用 webview 对象而不是 super.appView,您可以使用 WebView webView = (WebView) appView.getEngine().getView(); 获得,如 this comment. 所示
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-17
  • 2012-10-21
  • 2017-02-03
  • 2017-08-30
  • 2011-05-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多