패키지 | flash.desktop |
클래스 | public class DockIcon |
상속 | DockIcon InteractiveIcon Icon EventDispatcher Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
AIR 프로파일 지원: 이 기능은 모든 데스크톱 운영 체제에서 지원되지만 휴대 장치나 AIR for TV 장치에서는 지원되지 않습니다. NativeApplication.supportsDockIcon
속성을 사용하여 런타임에 지원을 테스트할 수 있습니다. 여러 프로파일 간 API 지원에 대한 자세한 내용은 AIR 프로파일 지원을 참조하십시오.
예를 들어 아이콘에 애니메이션 효과를 적용하거나 정보 그래픽을 추가하기 위해 DockIcon 클래스를 사용하여 표준 아이콘의 모양을 변경할 수 있습니다. 또한 도크 아이콘 메뉴에 항목을 추가할 수 있습니다. 추가하는 메뉴 항목은 표준 메뉴 항목 위에 표시됩니다.
DockIcon 클래스의 인스턴스를 만들 수 없습니다. NativeApplication.icon
에서 운영 체제 도크 아이콘을 나타내는 객체를 가져옵니다.
모든 운영 체제에 도크 아이콘이 있는 것은 아닙니다. NativeApplication.supportsDockIcon
을 확인하여 현재 시스템에서 도크 아이콘이 지원되는지 여부를 알아봅니다. 도크 아이콘이 지원되는 경우 NativeApplication.icon
속성의 유형은 DockIcon입니다. 도크 아이콘이 지원되지 않는 경우 NativeApplication.icon
의 유형은 InteractiveIcon의 또 다른 하위 클래스(일반적으로 SystemTrayIcon)입니다.
중요: AIR에서 도크 아이콘을 지원하지 않는 운영 체제의 NativeApplication.icon
객체에 DockIcon 클래스 메서드를 호출하려고 하면 런타임 예외가 발생합니다.
관련 API 요소
flash.desktop.NativeApplication.supportsDockIcon
flash.desktop.SystemTrayIcon
속성 | 정의 주체 | ||
---|---|---|---|
bitmaps : Array [재정의]
크기가 다른 BitmapData 객체 배열의 아이콘 이미지입니다. | DockIcon | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
height : int [재정의] [읽기 전용]
아이콘의 현재 표시 높이(픽셀)입니다. | DockIcon | ||
menu : NativeMenu
이 도크 아이콘의 시스템 제공 메뉴입니다. | DockIcon | ||
width : int [재정의] [읽기 전용]
아이콘의 현재 표시 폭(픽셀)입니다. | DockIcon |
메서드 | 정의 주체 | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다. | EventDispatcher | ||
주의가 필요한 이벤트가 발생했음을 사용자에게 알립니다. | DockIcon | ||
이벤트를 이벤트 흐름으로 전달합니다. | EventDispatcher | ||
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
EventDispatcher 객체에서 리스너를 제거합니다. | EventDispatcher | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object | ||
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher |
bitmaps | 속성 |
bitmaps:Array
[재정의] 런타임 버전: | AIR 1.0 |
크기가 다른 BitmapData 객체 배열의 아이콘 이미지입니다.
특정 운영 체제 컨텍스트에서 아이콘이 표시될 때 표시된 크기와 가장 비슷한 배열의 비트맵이 사용됩니다(필요할 경우 크기가 조절됨). 일반적인 크기는 16x16, 32x32, 48x48 및 128x128입니다. 조만간 일부 운영 체제 아이콘에 512x512 픽셀 아이콘을 사용할 수 있습니다.
일부 컨텍스트에서는 bitmaps
속성에 아무것도 지정되지 않았을 때 운영 체제가 기본 시스템 아이콘을 사용할 수 있습니다. 다른 컨텍스트에서는 아이콘이 표시되지 않습니다.
아이콘 모양을 설정하거나 변경하려면 BitmapData 객체의 배열을 bitmaps
속성에 지정합니다.
icon.bitmaps = new Array(icon16x16.bitmapData, icon128x128.bitmapData);
bitmaps
배열을 직접 수정하는 것은 아무런 효과가 없습니다.
아이콘 이미지를 지우려면 빈 배열을 bitmaps
속성에 지정합니다.
참고: 아이콘의 이미지 파일을 로드할 때 일반적으로 PNG 파일 형식이 가장 좋은 알파 블렌딩을 제공합니다. GIF 형식은 on 또는 off 투명도만 지원합니다(블렌딩 없음). JPG 형식은 투명도를 아예 지원하지 않습니다.
구현
override public function get bitmaps():Array
override public function set bitmaps(value:Array):void
height | 속성 |
menu | 속성 |
menu:NativeMenu
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
이 도크 아이콘의 시스템 제공 메뉴입니다.
메뉴의 모든 항목은 표준 항목 위에 표시됩니다. 표준 항목은 수정하거나 제거할 수 없습니다.
구현
public function get menu():NativeMenu
public function set menu(value:NativeMenu):void
예제 ( 예제 사용 방법 )
import flash.desktop.NativeApplication; import flash.events.Event; private function createDockIconMenu():void{ if(NativeApplication.supportsDockIcon){ var dockIcon:DockIcon = NativeApplication.nativeApplication.icon as DockIcon; var dockMenu:NativeMenu = new NativeMenu(); var command:NativeMenuItem = dockMenu.addItem(new NativeMenuItem("Command")); command.addEventListener(Event.SELECT, onCommand); dockIcon.menu = dockMenu; } } private function onCommand(event:Event):void{ //do command... }
width | 속성 |
bounce | () | 메서드 |
public function bounce(priority:String = "informational"):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
주의가 필요한 이벤트가 발생했음을 사용자에게 알립니다.
이 메서드를 호출하면 도크 아이콘이 튑니다. 단, 응용 프로그램이 백그라운드로 있는 경우에만 적용됩니다. priority
가 NotificationType.Informational
인 경우 아이콘이 다시 튕깁니다. priority
가 NotificationType.Critical
인 경우 응용 프로그램을 포그라운드로 가져올 때까지 도크 아이콘이 튕깁니다.
매개 변수
priority:String (default = "informational ") — 도크가 튈 때의 긴급도입니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
import flash.display.DockIcon; import flash.display.NotificationType; import flash.desktop.NativeApplication; if(NativeApplication.supportsDockIcon){ var dockIcon:DockIcon = NativeApplication.nativeApplication.icon As DockIcon; dockIcon.bounce(NotificationType.CRITICAL); }
package { import flash.desktop.DockIcon; import flash.desktop.NativeApplication; import flash.display.Loader; import flash.display.NativeMenu; import flash.display.NativeMenuItem; import flash.display.Sprite; import flash.events.Event; import flash.events.TimerEvent; import flash.net.URLRequest; import flash.utils.Timer; public class AnimatedDockIcon extends Sprite { private var imageURLs:Array = ['gfx/frame01.png', 'gfx/frame02.png', 'gfx/frame03.png', 'gfx/frame04.png']; private var images:Array = new Array(); private var animTimer:Timer = new Timer(100); public function AnimatedDockIcon() { NativeApplication.nativeApplication.autoExit = false; addEventListener(Event.COMPLETE, loadImages); loadImages(); animTimer.addEventListener(TimerEvent.TIMER,advanceFrame); addMenu(); stage.nativeWindow.close(); } private function addMenu():void{ var menu:NativeMenu = new NativeMenu(); var start:NativeMenuItem = menu.addItem(new NativeMenuItem("Start animation")); var stop:NativeMenuItem = menu.addItem(new NativeMenuItem("Stop animation")); start.addEventListener(Event.SELECT, startTimer); stop.addEventListener(Event.SELECT, stopTimer); var dockIcon:DockIcon = NativeApplication.nativeApplication.icon as DockIcon; dockIcon.menu = menu; } private function startTimer(event:Event):void{ animTimer.start(); } private function stopTimer(event:Event):void{ animTimer.stop(); } private var currentFrame:int = 0; private function advanceFrame(event:Event):void{ if(currentFrame < images.length){ currentFrame++; } else { currentFrame = 0; } NativeApplication.nativeApplication.icon.bitmaps = [images[currentFrame]]; } private function loadImages(event:Event = null):void{ if(event != null){ images.push(event.target.content.bitmapData); } if(imageURLs.length > 0){ var urlString:String = imageURLs.pop(); var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadImages, false, 0, true); loader.load(new URLRequest(urlString)); } else { var complete:Event = new Event(Event.COMPLETE,false,false); dispatchEvent(complete); } } } }
Tue Jun 12 2018, 03:17 PM Z