【发布时间】:2013-03-19 17:53:51
【问题描述】:
我会尽量用有限的英语解释这一点!
好的,我正在构建一个应用程序,该应用程序将在手机上处于纵向模式,而在平板电脑上处于横向模式。
我这样做的方法是,首先计算显示大小而不是基本上说"if display size is more than 5 inches, consider this device to be a tablet".
这很好用。我将 Adobe Flash CS6 与 FlashDevelop 一起使用,因此一旦应用程序启动,我就会将纵向模式设为默认模式。如果设备是平板电脑,它会通过 stage.setAspectRatio(StageAspectRatio.LANDSCAPE);
改变纵横比这也很好用。 现在,问题是 stage.stageWidth 不会将其值更改为新的 aspectRatio。这是一个简单的修复,只需使用 stage.stageHeight 作为宽度。但是蜂窝/ics平板/设备上的系统栏不会改变。
抱歉解释不好,但让我给你看一些数字......
这就是我在平板电脑上启动应用程序时发生的情况。
应用程序以纵向启动。高度 = 1232 宽度 = 800。如您所见,显示分辨率应为 1280x720,但无法通过任何命令获取系统栏的高度。我已经测试了所有返回分辨率的东西,但都没有返回完整的分辨率 (1280x720)。
现在应用程序变成横向(因为它是平板电脑)并获得此分辨率高度:800,宽度 1232。
您可以想象这是错误的。因为系统栏在底部。分辨率应该是高:752,宽1280。
有什么解决办法吗? 我一直在考虑一种解决方法,它基本上可以计算系统栏 *应该 是什么。但在我开始之前,我想知道是否有任何方法可以解决这个问题。*
【问题讨论】:
标签: actionscript-3 air adobe resolution