实际上,我正在困扰手机屏幕应用的屏幕尺寸问题。 我找到了这个网站的解决方案(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()
屏幕尺寸正常。
如何解决? 这是我的第一篇文章。如果我错过了一些信息,我会澄清。
答案 0 :(得分:0)
该方法可能仅在应用程序最初创建视图时调用,具体取决于应用程序的工作方式,可能会调用“onCreate”或“onSurfaceCreated”方法来正确设置更改。然后,当您再次启动应用程序时,表面已经创建,因此应用程序不会尝试重新创建它,并且某种程度上它不是正确的状态。如果您确定每次都需要重新加载设置,请让应用程序在“onSurfaceModified”或“onResume”或其他任何内容中调用该重新加载方法,或尝试弄清楚视图在运行之间如何被修改。