gpt4 book ai didi

android - Phonegap 缩放级别

转载 作者:行者123 更新时间:2023-11-29 13:41:36 24 4
gpt4 key购买 nike

我有一个手机间隙应用程序可以动态启用/禁用缩放。该应用程序允许在带有详细图表的页面上进行缩放,而对于该应用程序的其余部分则禁用缩放。

使用元视口(viewport)标签更改缩放:启用:

 <meta id="viewport" name="viewport"
content="initial-scale=1.0, maximum-scale=3.0, minimum-scale=1.0, user-scalable=yes" />

禁用:

 <meta id="viewport" name="viewport"
content="initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />

我的问题是用户可能会放大然后转到禁用缩放的页面。在这里,它们将被锁定在放大级别。

我在这里找到了检测问题的方法:

Safari iPhone - How to detect zoom level and offset?

但是有没有办法以编程方式,最好是在 JavaScript 中(以保持 phonegap 应用跨平台,无需自定义工作),设置缩放级别? (目前我正在刷新文档,这有效,但这可能是处理它的最慢的方法)

最佳答案

关于 Android,您可以通过直接访问 WebView 对象的 native 代码 (java) 以编程方式更改缩放。

例如:

appView = (WebView) findViewById(R.id.appView);
appView.setInitialScale( (int)globalScale );
appView.getSettings().setSupportZoom( true );
appView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
appView.getSettings().setUseWideViewPort(true);
...

如果您需要从 javascript 触发缩放修改,我建议您编写自己的 Phonegap 插件(不太难),将 javascript 代码绑定(bind)到直接访问 WebView 对象的 native 代码。

请记住,我认为您应该避免为 HTML 的元标记指定额外的属性,否则它们会覆盖 WebView 设置。把刚刚

<meta name="viewport" content="target-densitydpi=device-dpi"> 

关于android - Phonegap 缩放级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8978413/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com