상당히 유용한 기능임에도 불구하고, 달리 관련된 글이 없어서 이렇게 포스팅 함.1
AIR 1.5.2 버전부터는 ESC를 눌러도 FullScreen 상태를 빠져나가지 않도록 구현할 수 있다. KeyboardEvent.KEY_DOWN 이벤트가 발생하였을 때, 해당 이벤트를 preventDefault() 시켜주면 된다.
아래는 그 예시.
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo"
xmlns:woodt="http://www.woodt.com/flex"
addedToStage="addedToStageHandler(event)">
<fx:Script>
<![CDATA[
import flash.display.StageDisplayState;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
protected function stage_keyDownHandler(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.ESCAPE)
event.preventDefault();
}
protected function addedToStageHandler(event:Event):void
{
stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
stage.addEventListener(KeyboardEvent.KEY_DOWN, stage_keyDownHandler);
}
]]>
</fx:Script>
</s:WindowedApplication>
물론 WindowedApplication에서 발생하는 keyDown이벤트를 핸들링 할 수도 있으나, 상황에 따라 WindowedApplication에서는 이벤트가 발생하지 않을 수도 있으므로, 위와 같이 Stage에 붙여서 사용하는 것이 안정적이다.
- 별 생각 없이, '이러면 되지 않을까?' 해서 눌러봤는데, 되더라. 확인해보니 AIR 1.5.2부터 지원하기 시작한 기능이라고 한다. [본문으로]
'Adobe Flash Platform > AIR' 카테고리의 다른 글
| [뉴스] Adobe AIR 2.0 Beta 2 릴리즈 (0) | 2010/02/03 |
|---|---|
| AIR에서 ESC를 눌러도 FullScreen을 빠져나가지 않도록 하는 기능 (2) | 2010/01/04 |
| Adobe AIR 2.0의 NativeProcess와 Native Installer (6) | 2009/12/16 |
| AIR 2.0 Beta 릴리즈! (1) | 2009/11/17 |




댓글을 달아 주세요
글쿤요. AIR는 생각도 못했네요. 좋은 팁 감사
AIR로 개발하다보면 Fullscreen을 쓸 일이 상당히 잦은데, ESC만 눌렀다하면 화면 밖으로 빠져나가게 되서 불편함이 많았어요. 유용하게 쓰일 팁인 것 같아요.