我要试着用有限的英语来解释这一点,尽可能好!AS3/Adobe AIR从纵向开始并改变为横向将出现错误
好的,我正在建立一个应用程序,该应用程序将在手机上处于纵向模式和平板电脑横向模式。 我这样做,首先计算显示尺寸比基本上说"if display size is more than 5 inches, consider this device to be a tablet".
这很好。我在FlashDevelop中使用了Adobe Flash CS6,所以我在应用程序启动后将肖像模式设置为默认模式。如果设备是平板电脑,则会通过stage.setAspectRatio(StageAspectRatio.LANDSCAPE)更改宽高比;
这也很好。 现在,问题在于stage.stageWidth不会将其值更改为新的aspectRatio。这是一个简单的解决方法,只需使用stage.stageHeight作为宽度。但蜂窝/平板电脑/设备上的系统栏不会更改。
对不起,我不好解释,但让我告诉你一些数字...
这是当我在我的平板电脑开始我的应用程序是什么happends。
应用程序从肖像开始。 height = 1232 width = 800.正如你所看到的,显示分辨率应该是1280x720,但是没有办法通过任何命令来获得系统的高度。我测试了所有返回分辨率的数据,而且没有一个返回完整分辨率(1280x720)。
现在,应用程序变成景观(因为它是一个平板电脑),并得到该决议高度:800,宽度1232
正如你能想象这是错误的。因为系统在底部。该决议应高度:752,宽度1280
有什么办法呢? 我一直在想一个解决方法,基本上可以计算系统* 应该是。但在我开始之前,我想知道是否有任何方法可以解决这个问题。 *