Мне нужно иметь возможность включать и выключать пинч-зум с помощью настроек области просмотра в моем приложении Android PhoneGap.
Но я не могу заставить область просмотра вообще влиять на масштабирование при использовании PhoneGap. Я не могу включить Pinch-zoom в PhoneGap, но при просмотре с помощью собственного браузера Android на веб-странице все работает нормально.
Я потратил много времени на поиски решения, но безрезультатно.
Я создал очень простой index.html для тестирования с настройкой области просмотра, например:
<meta name="viewport" content="user-scalable=yes" />
Как предположили некоторые, я также пробовал окно просмотра:
<meta name="viewport" content="user-scalable=1" />
Другие решения для Android PhoneGap могут включать Android Native Pinch-Zoom, которые были предложены здесь:
увеличить пробел для Android
Но это не будет работать для меня, так как мне нужно иметь возможность контролировать масштабирование из javascript. То есть Мне нужно иметь возможность использовать javascript для изменения настроек области просмотра, чтобы контролировать, когда доступно масштабирование по пинчу (масштабируемое пользователем = да / масштабируемое пользователем = нет)
Обратите внимание, что другие параметры окна просмотра, такие как «initial-scale» и «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>
Цени любые идеи, которые у тебя могут быть!