| 套件 | 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
隱藏繼承公用屬性
顯示繼承公用屬性