1.AIR程序,点击窗口的最大化按钮,实现flash全屏
首先通过点击窗口的最大化按钮,或者双击标题栏,触发窗口的显示状态改变事件(最大化窗口事件)。然后在这个事件中通过设置systemManager.stage.displayState的属性达到全屏的效果。
(1)在creationComplete事件中注册NativeWindowDisplayStateEvent事件
systemManager.stage.nativeWindow.addEventListener(NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGE,resizeHandler);
(2)创建resizeHandler
private var returnMaxmized:Boolean = false; //设一个变量,记录是否从最大化中返回
public function resizeHandler(event:NativeWindowDisplayStateEvent):void {
if(event.afterDisplayState == NativeWindowDisplayState.MAXIMIZED){
systemManager.stage.nativeWindow.restore(); //还原窗口
returnMaxmized = true; //设置为是从最大化中返回的
}else if(event.afterDisplayState == NativeWindowDisplayState.NORMAL && returnMaxmized==true){
systemManager.stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE; //设置全屏
returnMaxmized = false; //重置变量
}
}
在学习中发现实际上我们所要的flash全屏效果和窗口的最大化是不一样的,而我想到达的目的就是通过点击最大化的按钮,来实现全屏的效果。所以在resizeHandler中没有直接在最大化中将flash设为全屏,而是最大化后又立即还原,然后在还原后的事件中进行了全屏的设置。
文章评论