2011-08-01 6 views
1

実際、私はphonegapアプリケーションの画面サイズの問題を抱えています。 私はこのサイトの解決策を見つけました(http://ryangillespie.com/phonegap.php)。 javascriptとcss3の機能を使用することで動作します。Phonegap android app:最初の実行が変わって動作します

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; 
     } 
    } 
} 

をしかし、問題は次のとおりです:

コードは以下の通りです、それが唯一の最初の実行で正しく動作します。アプリをシャットダウンして再起動すると、画面サイズが正しく動作しません。

もう1つ奇妙な動作があります。ページをリロードしようとした後に

window.location.reload() 

画面サイズが正しく動作します。

修正方法? これは私の最初の投稿です。私が情報のいくつかを見逃したら、私は明確にします。

答えて

0

このメソッドは、アプリケーションがどのように動作しているかによって、最初にビューを作成するときにのみ呼び出すことができます。変更を正しく設定するために呼び出される 'onCreate'メソッドまたは 'onSurfaceCreated'メソッドがあります。アプリをもう一度起動すると、サーフェスはすでに作成されているため、アプリは試して再作成せず、何らかの形で正しい状態にはなりません。毎回設定をリロードする必要があると判断した場合は、「onSurfaceModified」や「onResume」などでreloadメソッドを呼び出すか、ビューの実行間隔を変更する方法を試してみてください。

+0

"onCreate"状態でreload関数を呼び出そうとしましたが、正しく動作します。ありがとうございました。 – Alan

関連する問題