如何在Air中获取屏幕尺寸?

4
在运行Air的AS3代码中,如何获取移动设备的屏幕宽度和高度?

AS3无法读取Android,它只将其视为Linux。 - IgorGanapolsky
4个回答

12
如果您在桌面上使用模拟器,Capabilities 会返回计算机的分辨率而不是模拟设备的分辨率。
只需简单地使用 stage:

trace(stage.fullScreenWidth, stage.fullScreenHeight);

1
那是更好的答案,因为stage可在任何DisplayObject中使用。 - Bitterblue
这应该是任何来寻找答案的人的答案。它非常准确,并且在屏幕上初始化,而stage.nativeWindow.bounds仍然为null。 - snocavotia
这个能正确读取Android屏幕分辨率吗?可能不行,因为它与Capabilities.screenResolutionY相同。 - IgorGanapolsky

7

4

除了chubbard的回答之外,另一种方法是简单地使用Capabilities类,这也适用于AIR之外的情况:

import flash.system.Capabilities;

var screenWidth:Number = Capabilities.screenResolutionX;
var screenHeight:Number = Capabilities.screenResolutionY;

这只报告了 Linux 的屏幕分辨率,与 Android 的屏幕分辨率不同。因此对于 Android 来说,它是不正确的。 - IgorGanapolsky

0

将舞台缩放模式设置为“无边框”:

import flash.display.StageScaleMode;

 stage.scaleMode = StageScaleMode.NO_BORDER;

这会实现什么? - IgorGanapolsky

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接