따뜻한 대한민국 겨울만들기

처음 AIR를 접하게 되었을때... 또 간단한 프로그램을 만들고 컴파일을 하게 되었을때...

기본으로 제공되는 윈도우가 뜨자...

" 괜찮긴 한데... 바꾸고 싶다..+_+" 라는 생각이 가장 먼저 들었습니다.

어차피 고급 AIR 어플리케이션을 만들고 배포하기를 원한다면.

사용자가 직접 윈도우를 만들고 디자인 해야하는건 피할 수 없는 문제입니다.

그래서 이번에는 사용자 NativeWindow 를 만드는 방법을 설명해 보겠습니다.

들어가기에 앞서, NativeWindow에 대해 먼저 알고 가겠습니다.

na·tivenitiv〕1. 출생지의, 본래의...2. 지방 고유의...
라는 뜻입니다.

쉽게말해, AIR에서 기본으로 제공하는 본래의 윈도우 창 이라는 뜻입니다.

그냥 공부를 한다거나 테스트를 한다면 이 본래의 윈도우를 사용해도 아무런 문제가 되지 않습니다.

하지만 개인이나 회사에서 배포를 목적으로 한다면 이 본래의 윈도우는 쓸모가 없어집니다.

Flex빌더나 Eclipse 플러그인으로 개발을 하는....

그러니깐 Flex기반 개발을 중심으로 설명하겠습니다.

자 그럼 본격적으로 만들어 보겠습니다.

----------------------------------------------------------------------------


먼저 어도비 도움말에 나와있는 위의 그림을 보시면 이해가 빠를거라 생각되어 퍼왔습니다.

우리가 만들 파일이름을 Window.mxml 이라고 합시다.

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx=http://www.adobe.com/2006/mxml ...>
...
...
</mx:WindowedApplication>

이런식으로 mxml 이 되어 있을 것입니다.

자동으로 생성되어진 Window-app.xml 도 보일 것 입니다.

Window-app.xml 파일로 본래 윈도우의 초기설정을 할 수가 있습니다.

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/1.0">
...
  <initialWindow>
    <title>Window</title>
    <systemChrome>none</systemChrome>
    <transparent>true</transparent>
    <visible></visible>
  </initialWindow>
...

여기서 속성에 대해 간략히 말씀드리자면,
▷ systemChrome : 시스템에서 제공되는 윈도우를 사용할것인가?
▷ transparent      : 배경을 투명하게 할것인가?
▷ visible             : 말그대로 윈도우를 보이게 할것인가?

위의 그림과 같이 보시면 이해가 더 빠르실거라 생각됩니다.

여기서 중요한게 있습니다.

나는 ...
    <systemChrome>none</systemChrome>
    <transparent>true</transparent>
    <visible></visible>
이렇게 기본 제공되는 윈도우를 없앴고, 투명하게 하였는데...

보지도 못한 이상한 윈도우가 뜨지? ㅜㅜ

위 그림의 마지막에 해당하는 사항입니다.

그림 마지막 부분을 보시면 <mx:WindowedApplication> or <mx:Window>

해당한다고 나와있습니다.

때문에 아예 기본 윈도우가 없게 만들지는 못하는 것입니다.

따라서, 기본으로 제공하는 윈도우를 아예 없애고 싶으시면

Window.mxml 파일에
<mx:Application> ... </mx:Application>

을 사용하시면 되겠습니다. :)


다음은 mxml 파일에서 윈도우를 만드는 as 파일을 사용하여 윈도우를 제어 해 보겠습니다.
그리고 각각의 윈도우와 스테이지의 개념을 설명해 보겠습니다.