Apache flex AIR:为什么stage==null?
我正在尝试在我的AIR应用程序上设置scaleMode。这是通过stage.scaleMode设置的。然而,当我尝试引用stage时,它返回为null。我不知道为什么 以下是整个应用程序:Apache flex AIR:为什么stage==null?,apache-flex,air,Apache Flex,Air,我正在尝试在我的AIR应用程序上设置scaleMode。这是通过stage.scaleMode设置的。然而,当我尝试引用stage时,它返回为null。我不知道为什么 以下是整个应用程序: <?xml version="1.0" encoding="utf-8"?> <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()"> <mx:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">
<mx:Script>
<![CDATA[
import flash.display.StageDisplayState;
private function init():void
{
var s:Stage = this.stage; //<<-- this.stage == null...why??
s.scaleMode = StageScaleMode.EXACT_FIT;
}
]]>
</mx:Script>
</mx:WindowedApplication>
尝试为事件添加事件侦听器。将\u添加到\u STAGE
或addedStatage
mxml属性。您应该能够引用该阶段。尝试windowComplete
而不是creationComplete
。此外:
[如果]您正在尝试添加
eventListeners从右键进入舞台
应用程序的开始
执行时,这只适用于
updateComplete()和
applicationComplete()
来源:为了安全起见,在Web和AIR应用程序中,我通常使用
applicationComplete
事件来标记启动周期的完成,然后再查找stage
对象。从文档中:
在创建所有组件并
绘制的应用程序对象
分派应用程序完成
事件这是最后一个事件
在应用程序中调度
启动
如果您等待应用程序完成,您可以确保一切都准备好了。见鬼
你可以试试看
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication
xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="init()">
<mx:Script>
<![CDATA[
import flash.display.StageDisplayState;
private function init():void
{
this.systemManager.stage.scaleMode = StageScaleMode.EXACT_FIT;
}
]]>
</mx:Script>
</mx:WindowedApplication>
这应该可以做到:)我想你是说applicationComplete而不是windowComplete?