AIR 기본 윈도우의 기초Adobe AIR 1.0 이상 AIR의 기본 윈도우를 사용한 작업에 대한 빠른 설명 및 코드 예제를 보려면 Adobe Developer Connection에서 다음과 같은 퀵 스타트 문서를 참조하십시오.
AIR은 Flash®, Flex™ 및 HTML 프로그래밍 기술을 사용하여 기본 운영 체제 윈도우를 만드는 데 쉽게 사용할 수 있으며 플랫폼의 영향을 받지 않는 윈도우 API를 제공합니다. AIR을 사용하면 응용 프로그램의 모양을 개발할 때 융통성이 커집니다. Mac에서 실행될 때는 Apple 스타일과 일치하고 Windows에서 실행될 때는 Microsoft 규칙을 따르며 Linux에서는 윈도우 관리자와 조화를 이루도록 윈도우의 모양을 표준 데스크톱 응용 프로그램과 비슷하게 만들 수 있습니다. 이러한 작업은 모두 플랫폼별 코드 행을 포함하지 않고 수행할 수 있습니다. 또는 Flex 프레임워크에서 제공하며 스킨을 사용할 수 있고 확장 가능한 크롬을 사용하여 응용 프로그램이 실행되는 곳에 관계없이 고유의 스타일을 설정할 수도 있습니다. 데스크톱에 대한 알파 블렌딩과 투명도를 완전히 지원하는 벡터 및 비트맵 아트웍을 사용하여 직접 윈도우 크롬을 그릴 수도 있습니다. 사각형 윈도우가 지겨우면 원형 윈도우를 그려보십시오. AIR의 윈도우AIR은 윈도우 작업을 위한 세 가지 고유한 API를 지원합니다.
ActionScript 윈도우NativeWindow 클래스를 사용하여 윈도우를 만드는 경우 Flash Player 스테이지를 사용하고 목록을 직접 표시합니다. 시각적 객체를 NativeWindow에 추가하려면 윈도우 스테이지의 표시 목록이나 스테이지의 다른 표시 객체 컨테이너에 객체를 추가합니다. HTML 윈도우HTML 윈도우를 만들 때 HTML, CSS 및 JavaScript를 사용하여 내용을 표시합니다. 시각적 객체를 HTML 윈도우에 추가하려면 해당 내용을 HTML DOM에 추가합니다. HTML 윈도우는 NativeWindow의 특수한 범주입니다. AIR 호스트는 HTML 윈도우에서 기본 NativeWindow 인스턴스에 액세스할 수 있도록 하는 nativeWindow 속성을 정의합니다. 이 속성을 사용하여 여기에서 설명하는 NativeWindow 속성, 메서드 및 이벤트에 액세스할 수 있습니다. 참고: JavaScript Window 객체에는 moveTo() 및 close()와 같이 포함하는 윈도우를 스크립팅하기 위한 메서드도 있습니다. 사용할 수 있는 메서드가 겹치는 경우 편리한 메서드를 사용하면 됩니다.
Flex 프레임워크 윈도우Flex 프레임워크를 사용하여 윈도우를 만드는 경우 일반적으로 MXML 구성 요소를 사용하여 윈도우를 채웁니다. Flex 구성 요소를 윈도우에 추가하려면 해당 구성 요소를 윈도우 MXML 정의에 추가합니다. ActionScript를 사용하여 내용을 동적으로 추가할 수도 있습니다. mx:WindowedApplication 및 mx:Window 구성 요소는 Flex 컨테이너로 설계되었으므로 Flex 구성 요소를 직접 받아들일 수 있지만 NativeWindow 객체는 그럴 수 없습니다. 필요한 경우 NativeWindow 속성 및 메서드는 nativeWindow 속성을 사용하여 WindowedApplication 및 Window 객체를 통해 액세스할 수 있습니다. 기본 윈도우 이벤트 흐름기본 윈도우는 중요한 변경이 발생하려고 하거나 이미 발생했음을 관련 구성 요소에 알리기 위해 이벤트를 전달합니다. 많은 윈도우 관련 이벤트가 쌍으로 전달됩니다. 첫 번째 이벤트는 변경이 발생하려고 한다고 경고합니다. 두 번째 이벤트는 변경이 수행되었다고 알립니다. 경고 이벤트를 취소할 수 있지만 알림 이벤트는 취소할 수 없습니다. 사용자가 윈도우의 최대화 버튼을 클릭할 때 발생하는 이벤트의 흐름은 다음과 같습니다.
기본 윈도우 스타일 및 비헤이비어를 제어하는 속성다음 속성은 윈도우의 기본적인 모양과 비헤이비어를 제어합니다.
윈도우를 만들 때 윈도우 생성자에 전달된 NativeWindowInitOptions 객체에서 이러한 속성을 설정합니다. AIR은 응용 프로그램 설명자에서 초기 응용 프로그램 윈도우의 속성을 읽습니다(응용 프로그램 설명자에서 설정할 수 없고 항상 normal로 설정되는 type 속성 제외). 이러한 속성은 윈도우를 만든 후 변경할 수 없습니다. 이러한 속성의 일부 설정은 상호 호환되지 않습니다. transparent가 true이거나 type이 lightweight인 경우 systemChrome을 standard로 설정할 수 없습니다. 윈도우 유형AIR 윈도우 유형의 경우 기본 운영 체제의 가시성 특성과 크롬을 결합하여 세 가지 기능의 윈도우 유형을 만듭니다. NativeWindowType 클래스에 정의된 상수를 사용하여 코드에서 유형 이름을 참조합니다. AIR은 다음과 같은 윈도우 유형을 제공합니다.
윈도우 크롬윈도우 크롬은 데스크톱 환경에서 윈도우를 조작하는 데 사용할 수 있는 컨트롤의 집합입니다. 크롬 요소에는 제목 표시줄, 제목 표시줄 버튼, 테두리, 크기 조절 그리퍼 등이 있습니다. 시스템 크롬systemChrome 속성을 standard 또는 none으로 설정할 수 있습니다. 사용자의 운영 체제에서 만들어지고 스타일이 지정된 표준 컨트롤의 집합을 윈도우에 제공하려면 standard 시스템 크롬을 선택하고, 윈도우에 사용자 고유의 크롬을 제공하려면 none을 선택합니다. 코드에서 시스템 크롬 설정을 참조하려면 NativeWindowSystemChrome 클래스에 정의된 상수를 사용합니다. 시스템 크롬은 시스템에서 관리됩니다. 응용 프로그램에서는 컨트롤 자체에 직접 액세스할 수 없지만 컨트롤이 사용될 때 전달된 이벤트에 응답할 수 있습니다. 윈도우에 표준 크롬을 사용하는 경우 transparent 속성을 false로 설정해야 하고 type 속성이 normal 또는 utility여야 합니다. Flex 크롬Flex WindowedApplication 또는 Window 구성 요소를 사용하는 경우 윈도우에서 시스템 크롬이나 Flex 프레임워크에서 제공하는 크롬을 사용할 수 있습니다. Flex 크롬을 사용하려면 윈도우를 만드는 데 사용된 systemChrome 속성을 none으로 설정합니다. mx 구성 요소가 아닌 Flex 4 spark 구성 요소를 사용하는 경우 Flex 크롬을 사용하려면 스킨 클래스를 지정해야 합니다. 기본 제공 스킨을 사용하거나 사용자의 스킨을 제공할 수 있습니다. 다음 예에서는 기본 제공 spark WindowedApplication 스킨 클래스를 사용하여 창 크롬을 제공하는 방법을 보여 줍니다. <?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/mx"> <fx:Style> @namespace "library://ns.adobe.com/flex/spark"; WindowedApplication { skinClass:ClassReference("spark.skins.spark.SparkChromeWindowedApplicationSkin"); } </fx:Style> </s:WindowedApplication> 자세한 내용은 Flex 4 사용: AIR 창 컨테이너 정보: 창 크롬 제어를 참조하십시오. 윈도우 투명도바탕 화면이나 다른 윈도우와 윈도우의 알파 블렌딩을 허용하려면 윈도우 transparent 속성을 true로 설정합니다. transparent 속성은 윈도우를 만들기 전에 설정해야 하며 변경할 수 없습니다. 투명 윈도우에는 기본 배경이 없습니다. 응용 프로그램에서 그린 객체가 포함되지 않은 윈도우 영역은 표시되지 않습니다. 표시된 객체의 알파가 1보다 작게 설정되면 동일한 윈도우, 다른 윈도우 및 바탕 화면에 있는 다른 표시 객체를 비롯하여 객체 아래에 있는 모든 것이 표시됩니다. 투명 윈도우는 모양이 불규칙하거나 "페이드 아웃"되거나 표시되지 않는 테두리를 사용하여 응용 프로그램을 만들려는 경우 유용합니다. 그러나 알파 블렌딩된 큰 영역을 렌더링하는 경우 속도가 느릴 수 있으므로 이 효과는 반드시 필요한 경우에만 사용해야 합니다. 중요: Linux에서는 마우스 이벤트가 완전히 투명한 픽셀을 통과하지 않습니다. 따라서 보이지 않는 방식으로 데스크톱의 다른 윈도우 또는 항목에 대한 사용자의 액세스를 차단할 수 있으므로 완전히 투명한 영역이 큰 윈도우를 만들어서는 안 됩니다. Mac OS X 및 Windows의 경우에는 마우스 이벤트가 완전히 투명한 픽셀을 통과합니다.
시스템 크롬이 있는 윈도우에는 투명도를 사용할 수 없습니다. 또한 HTML의 SWF 및 PDF 내용은 투명 윈도우에 표시되지 않을 수 있습니다. 자세한 내용은 SWF 또는 PDF 내용을 HTML 페이지에 로드하는 경우의 고려 사항을 참조하십시오. 정적 NativeWindow.supportsTransparency 속성은 윈도우 투명도를 사용할 수 있는지 여부를 보고합니다. 투명도가 지원되지 않으면 응용 프로그램이 검정 배경에 합성됩니다. 이러한 경우 응용 프로그램의 투명한 영역은 모두 불투명한 검정으로 표시됩니다. 따라서 이 속성이 false로 판단되는 경우에 대비하여 대체 동작을 제공하는 것이 좋습니다. 예를 들어 경고 대화 상자를 사용자에게 표시하거나 투명하지 않은 사각형 사용자 인터페이스를 표시할 수 있습니다. Mac 및 Windows 운영 체제에서는 투명도가 항상 지원됩니다. Linux 운영 체제에서 투명도를 사용하려면 합성 윈도우 관리자가 필요하지만 합성 윈도우 관리자가 활성 상태인 경우에도 사용자 표시 옵션 또는 하드웨어 구성으로 인해 투명도를 사용하지 못할 수 있습니다. MXML 응용 프로그램 윈도우의 투명도투명 윈도우를 만드는 경우에도 MXML 윈도우의 배경은 기본적으로 불투명합니다. 투명도 효과는 윈도우의 모서리에서 확인할 수 있습니다. 윈도우의 배경을 투명하게 표시하려면 응용 프로그램 MXML 파일에 포함된 <mx:Style> 요소나 스타일 시트의 배경색과 알파 값을 설정합니다. 예를 들어 다음과 같은 스타일 선언은 배경에 약간 투명한 녹색 음영을 제공합니다. WindowedApplication { background-alpha:".8"; background-color:"0x448234"; } HTML 응용 프로그램 윈도우의 투명도포함하는 윈도우가 투명한 경우에도 HTML 윈도우나 HTMLLoader 객체에 표시되는 HTML 내용의 배경은 기본적으로 불투명합니다. HTML 내용에 대해 표시되는 기본 배경을 해제하려면 paintsDefaultBackground 속성을 false로 설정합니다. 다음 예제에서는 HTMLLoader를 만들고 기본 배경을 해제합니다. var htmlView:HTMLLoader = new HTMLLoader(); htmlView.paintsDefaultBackground = false; 이 예제에서는 JavaScript를 사용하여 HTML 윈도우의 기본 배경을 해제합니다. window.htmlLoader.paintsDefaultBackground = false; HTML 문서의 요소가 배경색을 설정하는 경우 해당 요소의 배경은 투명하지 않습니다. 부분 투명도(또는 불투명도) 값 설정은 지원되지 않습니다. 그러나 투명한 PNG 형식 그래픽을 페이지나 페이지 요소의 배경으로 사용하여 유사한 시각적 효과를 얻을 수 있습니다. 창 소유권한 개의 창은 다른 창을 하나 이상 소유할 수 있습니다. 소유된 창은 항상 마스터 창 앞에 나타나며, 마스터 창과 함께 최소화 및 복원되고 마스터 창이 닫히면 함께 닫힙니다. 창 소유권은 다른 창으로 이동하거나 제거할 수 없습니다. 창은 하나의 마스터 창에서만 소유될 수 있지만 임의의 개수의 다른 창을 소유할 수 있습니다. 창 소유권을 활용하면 도구 팔레트 및 대화 상자에 사용되는 창을 더욱 쉽게 관리할 수 있습니다. 예를 들어 [저장] 대화 상자를 문서 창과 연결해 표시한 경우 문서 창이 대화 상자를 소유하도록 하면 대화 상자가 문서 창 앞에 자동으로 유지됩니다. 시각적 윈도우 카탈로그다음 표에서는 Mac OS X, Windows 및 Linux 운영 체제에서 윈도우 속성 설정의 여러 가지 조합에 대한 시각적 효과를 보여 줍니다.
*Compiz 윈도우 관리자가 포함된 Ubuntu 참고: Mac OS X 툴바, Mac OS X 프록시 아이콘, Windows 제목 표시줄 아이콘 및 다른 시스템 크롬과 같은 시스템 크롬 요소는 AIR에서 지원되지 않습니다.
|
|