2011-08-01 36 views
1

实际上,我很烦扰phonegap应用程序的屏幕大小问题。 我找到了本网站的解决方案(http://ryangillespie.com/phonegap.php)。 通过使用JavaScript和css3的功能,它的工作原理。Phonegap android应用程序:最初的运行表现奇怪

的代码如下:

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() 

屏幕尺寸表现正确。

如何解决? 这是我的第一篇文章。如果我错过了一些信息,我会澄清。

回答

0

,当应用程序最初创建视图,这取决于你如何安装了该应用的工作方法可能只被调用,有可能是一个“的onCreate”或“onSurfaceCreated”,这是获得所谓的正确设置变化的方法。然后,当您再次启动应用程序时,表面已经创建好了,因此该应用程序不会尝试重新创建它,并且不知何故它不处于正确的状态。如果您确定每次都需要重新加载设置,请让应用程序在“onSurfaceModified”或“onResume”或其他任何地方调用该重新加载方法,或尝试找出视图在运行之间如何进行修改。

+0

我试图调用“onCreate”状态的重载功能,并且它的行为正常。谢谢。 – Alan

相关问题