国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 網(wǎng)站 > WEB開(kāi)發(fā) > 正文

9.18.自定義引導(dǎo)界面

2024-04-27 13:52:08
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
9.18.1. 問(wèn)題
你想自定義在下載和初始化Flex 程序時(shí)顯示的引導(dǎo)界面。
9.18.2. 解決辦法
通過(guò)生成mx.preloaders.DownloadProgressBar 類(lèi)(默認(rèn)的程序引導(dǎo)界面)的子類(lèi)或者生成實(shí)現(xiàn)了mx.preloaders.IPreloaderDisplay 接口的flash.display.Sprite 的子類(lèi)型兩種方法創(chuàng)建自定義的引導(dǎo)界面。
9.18.3. 討論
一個(gè)Flex 程序默認(rèn)地由兩個(gè)畫(huà)面組成。第一個(gè)生成引導(dǎo)界面,該界面發(fā)出與程序的加載和初始化有關(guān)的一系列事件。默認(rèn)的進(jìn)度條依據(jù)這些事件更新其顯示。下載接近完成時(shí),系統(tǒng)管理器向第二個(gè)畫(huà)面發(fā)出請(qǐng)求,同時(shí)繼續(xù)生成和初始化程序。當(dāng)程序快要完成初始化時(shí),系統(tǒng)管理器將得到通知并去除引導(dǎo)界面。

這一過(guò)程由系統(tǒng)管理器進(jìn)行內(nèi)在處理,管理器初始化mx.preloaders.Preloader 類(lèi)的一個(gè)實(shí)例監(jiān)控你的程序下載和初始化狀態(tài)。Preloader 實(shí)例實(shí)例化了指定的下載進(jìn)度條,將其添加到顯示列表并將IPreloaderDisplay 實(shí)現(xiàn)的preloader 屬性設(shè)為本身。定義的Preloader實(shí)例能監(jiān)聽(tīng)預(yù)加載器發(fā)出的許多事件,詳情見(jiàn)表9-2.

要想創(chuàng)建一個(gè)自定義進(jìn)度條以處理這些事件,你可以生成mx.preloaders.DownloadProgressBar 的子類(lèi)或者生成實(shí)現(xiàn)了mx.preloaders.IPreloaderDisplay 接口的mx.display.Sprite 的子類(lèi),Sprite 本身就是DownloadProgressBar 組成部分。

DownloadProgressBar 類(lèi)為表9-2 中列出的事件定義了保護(hù)型的事件處理器。你可以通過(guò)生成DownloadProgressBar 子類(lèi)重載這些事件處理器以相應(yīng)地修改和更新你的自定義顯示:
+展開(kāi)
-ActionScript
package oreilly.cookbook {
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.geom.Rectangle;
import mx.preloaders.DownloadProgressBar;
public class DPBSubclass extends DownloadProgressBar{
public function DPBSubclass(){
super();
// 下載完成后最短的顯示時(shí)間
MINIMUM_DISPLAY_TIME = 3000;
// 設(shè)置初始化進(jìn)程中的默認(rèn)文本。
initializingLabel = "Download complete!/nInitializing...";
// 重載標(biāo)簽域以顯示自定義文本
override protected function get labelRect():Rectangle{
 return new Rectangle(14, 5, 150, 30);
}
// 重載下載進(jìn)度處理器以顯示自定義文本。
override protected function progressHandler(event:ProgressEvent ):void{
super.progressHandler(event);
label = Math.round(event.bytesLoaded / 1000 ).toString()+ "k of "+ Math.round( event.bytesTotal / 1000).toString() + "k";
}
// 重載以確保在初始化和下載時(shí)顯示進(jìn)度條。
override protected function showDisplayForInit(elapsedTime:int,count:int):Boolean{return true;}
override protected function showDisplayForDownloading( elapsedTime:int,event:ProgressEvent):Boolean{ return true; }
}
}

本例重載DownloadProgressBar 定義的progressHandler 事件處理器顯示自定義文本以響應(yīng)引導(dǎo)器所發(fā)出PROGRESS 事件。在重載只讀的labelRect 同時(shí)修改標(biāo)簽的顯示域。顯示文本布告的標(biāo)簽由父類(lèi)內(nèi)在地生成。若想將DPBSubclass 類(lèi)設(shè)置為自定義引導(dǎo)界面,利用完整合法的類(lèi)名設(shè)置<mx:Application>標(biāo)記的preloader 屬性,代碼如下:
+展開(kāi)
-XML
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxmllayout="vertical"
preloader="oreilly.cookbook.DPBSubclass">

<mx:Script>
<![CDATA[
// embed large audio file in order to see
// the preloader display.
[Embed(source="assets/audio/audio.mp3")]
private var _audio:Class;

]]>
</mx:Script>
</mx:Application>
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 高邮市| 隆化县| 石景山区| 海盐县| 历史| 怀集县| 洛扎县| 阳朔县| 呼图壁县| 晋江市| 荔浦县| 沂南县| 耒阳市| 四川省| 精河县| 渭源县| 金昌市| 博兴县| 盐津县| 甘南县| 文山县| 元江| 建宁县| 铅山县| 太保市| 富锦市| 上虞市| 衡山县| 沙坪坝区| 三河市| 杨浦区| 无为县| 莱西市| 滁州市| 基隆市| 禄丰县| 泰顺县| 彭山县| 贡嘎县| 南宁市| 湘阴县|