放大Phonegap Android应用程序不起作用
我需要能够使用Android PhoneGap应用中的视口设置打开和关闭捏放大缩小。
但是在使用PhoneGap时,我无法使用视口来影响缩放。 我无法打开PhoneGap中的Pinch-zoom,但使用Android Native浏览器浏览网页时,一切正常。
我花了很多时间寻找解决方案,没有任何结果。
我创建了一个非常简单的index.html进行测试,其视口设置如下:
<meta name="viewport" content="user-scalable=yes" />
正如一些人所建议的,我也尝试了视口:
<meta name="viewport" content="user-scalable=1" />
Android PhoneGap的其他解决方案将启用Android Native Pinch-Zoom,这里已经提出了这个建议:放大android的phonegap但是这对我不起作用,因为我需要能够控制来自javascript的捏缩放。 即我需要能够使用javascript来更改视口设置,以控制pinch-zoom何时可用(user-scalable = yes / user-scalable = no)
请注意其他视口设置,如“初始缩放”和“target-densitydpi”似乎工作正常。 例如,设置initial-scale = 2可以缩放应用程序。
(我目前正在测试PhoneGap 1.4.1和HTC Desire HD Android 2.3.3的捏缩放)
我开始认为我错过了一些明显的东西,因为我发现关于类似问题的信息很少......
最小的index.html:
<!DOCTYPE HTML>
<html>
<head>
<meta name="viewport" content="user-scalable=yes" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Minimal AppLaud App</title>
<script type="text/javascript" charset="utf-8" src="phonegap-1.4.1.js"></script>
<script type="text/javascript" charset="utf-8">
var onDeviceReady = function() {
document.getElementById("devready").innerHTML = "OnDeviceReady fired.";
};
function init() {
document.addEventListener("deviceready", onDeviceReady, true);
}
</script>
</head>
<body onload="init();" id="stage" class="theme">
<h2>Minimal AppLaud App</h2>
<p> LOTS OF TEXT WHICH HAVE BEEN REMOVED HERE </p>
<p><span id="devready">onDeviceReady not fired.</span></p>
</body>
</html>
欣赏你可能拥有的任何想法!
我有完全相同的问题,除了测试不同的视口设置,我已经尝试了这样的建议:用Phonegap和jQUERY Mobile捏放大Android,但我不能使它工作(测试三星Galaxy SII,Android 4.0.3) 。 然而,其他人已经报告使用链接的提示成功缩小缩放。 希望它也能帮助你!
你在使用PhoneGap Build吗? PhoneGap Build不可能。
使用桌面PhoneGap,如果您尚未安装,请遵循PhoneGap Android入门指南,并在Eclipse项目中设置您的代码。
一旦设置,编辑您的主Java文件,如入门指南:添加以下导入:
import android.webkit.WebSettings;
import android.webkit.WebSettings.ZoomDensity;
'super.loadUrl(“file:///android_asset/www/index.html”);'' 作为启动指南的一部分,添加:
settings.setBuiltInZoomControls(true);
settings.setSupportZoom(true);
settings.setDefaultZoom(ZoomDensity.MEDIUM);
清理并建立您的项目 - 现在应该允许缩放。
要限制用户可以放大的距离,请在每个HTML页面中添加一个元标记,如下所示:
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, minimum-scale=1, maximum-scale=1.5, user-scalable=1">
刚刚确认捏缩放作为在以下Android手机上工作:
三星Galaxy S820L Android 4.4
LG日落L33L Android 5.0
使用PhoneGap CLI(不是服务),在Windows上:
C:>phonegap --version
5.4.1
Android SDK工具Verion:
24.4.1 (from the SDK Manager)
以下是MainActivity.java的代码(platforms android src com phonegap helloworld):
package com.phonegap.helloworld;
import android.os.Bundle;
import org.apache.cordova.*;
import android.webkit.WebView;
import android.webkit.WebSettings;
public class MainActivity extends CordovaActivity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// Set by <content src="index.html" /> in config.xml
loadUrl(launchUrl);
WebView webView = (WebView) appView.getEngine().getView();
WebSettings settings = webView.getSettings();
settings.setBuiltInZoomControls(true);
settings.setDefaultZoom(WebSettings.ZoomDensity.MEDIUM);
settings.setSupportZoom(true);
}
}
这是在index.html中:
<meta name="viewport" content="user-scalable=yes, initial-scale=1, maximum-scale=3, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
另外一个注意事项 - 通过这个电话:
settings.setDefaultZoom(WebSettings.ZoomDensity.MEDIUM);
建设时得到了这个:
uses or overrides a deprecated API - Note: Recompile with -Xlint:deprecation for details
评论出来,缩放不受影响。
感谢你们!!!
链接地址: http://www.djcxy.com/p/67411.html