国产探花免费观看_亚洲丰满少妇自慰呻吟_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)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 红安县| 沭阳县| 台南县| 睢宁县| 平安县| 呼玛县| 通州市| 历史| 新泰市| 崇仁县| 特克斯县| 桦甸市| 郯城县| 沙坪坝区| 荆州市| 资阳市| 高清| 南汇区| 祁连县| 赣榆县| 安岳县| 临清市| 台东县| 高尔夫| 突泉县| 北流市| 微博| 芷江| 苏尼特左旗| 盖州市| 金川县| 赣州市| 上林县| 竹山县| 曲阳县| 清丰县| 黄龙县| 晋中市| 扎兰屯市| 宁都县| 霍山县|