PhoneGap Android-приложение: начальный запуск ведет себя странно - PullRequest
1 голос
/ 01 августа 2011

На самом деле, меня беспокоит проблема размера экрана в приложениях с пропуском телефона.Я нашел решение с этого сайта (http://ryangillespie.com/phonegap.php). Используя javascript и функцию css3, она работает.

Код следующий:

var designWidth = 480; // zoom to fit this ratio
var designHeight = 762; // not 800 b/c top bar is 38 pixels tall
var scaleChange = 1; // % change in scale from above #s

function zoomScreen() {
    var docWidth = window.outerWidth;
    var docHeight = window.outerHeight;

    if (docWidth != designWidth) {
        var scaleX = docWidth / designWidth;
        var scaleY = docHeight / designHeight;
        if (scaleX < scaleY) {
            $('body').css('zoom', scaleX);
            scaleChange = scaleX;
        } else {
            $('body').css('zoom', scaleY);
            scaleChange = scaleY;
        }
    }
}

Но,проблема в том, что он ведет себя корректно только при первом запуске. Когда я закрываю приложение и перезапускаю его, размер экрана ведет себя неправильно.

Есть еще одно странное поведение.

window.location.reload()

Размер экрана ведет себя правильно.

Как это исправить? Это мой первый пост. Если я пропущу некоторую информацию, я бы уточнил.

1 Ответ

0 голосов
/ 01 августа 2011

Этот метод может быть вызван только тогда, когда приложение создает представление изначально, в зависимости от того, как у вас работает приложение, может существовать метод onCreate или onSurfaceCreated, который вызывается для правильной установки изменений.Затем, когда вы снова запускаете приложение, поверхность уже создана, и приложение не пытается его воссоздать, и почему-то оно не в нужном состоянии.Если вы решите, что вам необходимо каждый раз перезагружать настройки, вызовите метод приложения, который перезагружает метод в onSurfaceModified, или onResume, или в любом другом месте, или попытайтесь выяснить, как представление изменяется между запусками.*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...