套件 | 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 檔案格式可提供最佳的 Alpha 混合效果。GIF 格式只支援開啟或關閉透明度 (沒有混合效果)。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:47 PM Z