FLEX 3のloading進捗バーをカスタマイズする方法(2)

2259 ワード

まず、ダウンロードの進捗状況を中国語に変更します.
  
mxに拡張する.preloaders.DownloadProgressBarのクラス:

package myDownPro 
{ 
import mx.preloaders.DownloadProgressBar; 
public class myDownProBar extends DownloadProgressBar 
{ 
  public function myDownProBar() 
  { 
   //TODO: implement function 
   super(); 
   downloadingLabel=" ..."; 
   initializingLabel=" ..."; 
  } 
} 
} 

preloaderが作成したクラスを変更します.

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"   preloader="myDownPro.myDownProBar" layout="absolute"> 
<mx:Text text=" " x="37" y="71"/> 
</mx:Application> 

方法2:DownloadProgressBarクラスのpreloaderを上書きし、自分の好きなラベルや画像を加えることができます.

package myDownPro 
{ 
import mx.preloaders.DownloadProgressBar; 
import flash.display.Sprite; 
import flash.events.ProgressEvent 
import flash.events.* 
import flash.text.TextField; 
import  mx.events.*; 
public class myDownProBar2 extends DownloadProgressBar 
{ 
  public var msg:TextField 
  public function myDownProBar2() 
  { 
   super();   
   msg=new TextField() 
   msg.x=200 
   msg.y=200 
  addChild(msg) 
  } 
  override public function set preloader(s:Sprite):void{ 
  s.addEventListener(ProgressEvent.PROGRESS,prog) 
  s.addEventListener(Event.COMPLETE,ecom) 
  s.addEventListener(FlexEvent.INIT_COMPLETE,flInC) 
s.addEventListener(FlexEvent.INIT_PROGRESS,flIn) 
  } 
private function prog(e:ProgressEvent):void{ 
msg.text=String(int(e.bytesLoaded/e.bytesTotal*100))+" %"; 
} 
private function ecom(e:Event):void{ 
msg.text=" !!!!" 
} 
private function flInC(e:FlexEvent):void{ 
msg.text=" !"//  Complete  , ,  
dispatchEvent(new Event(Event.COMPLETE)) 
} 
private function flIn(e:FlexEvent):void{ 
msg.text=" " 
} 
} 
} 

同様にラベルのpreloaderをこのクラスに変更します.