2016-07-15 42 views
1

Windows計算機運行AIR。Adob​​e AIR - 全屏/顯示器

每天晚上教育顯示屏都會關閉。電腦繼續。

特定顯示上,當他們把他們在上午的屏幕分辨率往返幾次,在1920×1080,然後開始爲1024 x 768,然後回到1920×1080

當這種情況發生的AIR應用程序出於某種原因而嚇壞了,並保持在1024 x 768的分辨率,而不佔用整個屏幕,您可以看到桌面。我們必須手動重新啓動AIR應用程序。

有沒有辦法發生這種情況,我們可以檢測到並返回到強制全屏?

在此先感謝您的任何建議。

回答

2

如果您使用的是最大化窗口,則可以在舞臺上偵聽Event.RESIZE(調整窗口大小時調度),或者偵聽本機窗口displayStateChangeresize事件。

如果您使用的是FULL_SCREEN(或FULL_SCREEN_INTERACTIVE)顯示狀態,則可以監聽FullScreenEvent.FULL_SCREEN事件以瞭解該事件何時發生變化。

下面是幾件事情的例子,你可以嘗試:

//in your document class or main timeline, listen for the following events: 

stage.nativeWindow.addEventListener(NativeWindowBoundsEvent.RESIZE, windowResized); 
//the above will fire anytime the window size changes, Really this is all you need as this event will fire when the window display state changes as well. 

stage.nativeWindow.addEventListener(NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGE, windowResized); 
//the above will fire anytime the window state changes - eg. Maximized/Restore/Minimize. This likely won't trigger on a resolution change, but I've included it anyway 

stage.addEventListener(FullScreenEvent.FULL_SCREEN, fullscreenChange); 
//the above will fire whenever you enter or leave fullscreen mode (stage.displayState) 

private function windowResized(e:Event):void { 
    //re-maximize the window 
    stage.nativeWindow.maximize(); 

    //OR Go to full screen mode 
    stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE; 
} 

private function fullscreenChange(e:FullScreenEvent):void { 
    if (!e.fullScreen) { 
     //in half a second, go back to full screen 
     flash.utils.setTimeout(goFullScreen, 500); 
    } 
} 

private function goFullScreen():void { 
    stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE; 
} 
+0

感謝BFAT!我正在嘗試類似的事情,但沒有得到任何事件。我會在你的實施中採取一些措施。這將永遠達到電腦/屏幕設置的全部分辨率? –

+0

它會,但是,很難確切知道你的確切情況會發生什麼。是否使用FULL_SCREEN顯示狀態?或只是一個最大化的窗口? (您還可以聽舞臺的顯示狀態變化,以瞭解您何時從全屏幕啓動,如果您使用全屏幕,則可能更可靠) – BadFeelingAboutThis

+0

嘗試此操作後請對您的結果進行評論。如果它不起作用,請在嘗試重新最大化或重新全屏之前嘗試在事件發生後添加幾秒鐘的延遲。 – BadFeelingAboutThis