如何自定义FLEX3的loading进度条(2)

首先:修改下载进度的文字为中文
  
建立扩展至 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> 

方法二:覆写 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="开始初始化程序" 
} 
} 
} 

同样修改<mx:Application>标签的 preloader 为这个类。

你可能感兴趣的:(Flash,idea)