一个简单的加载模块弹出ProgressBar 加载进度条

效果图:

import mx.managers.PopUpManager;
import mx.modules.IModuleInfo;
import mx.modules.Module;
import mx.modules.ModuleLoader;
import mx.modules.ModuleManager;
import mx.controls.ProgressBar;
import mx.events.FlexEvent;

private var myProgressBar:ProgressBar;
private var _group:Group;
private var m1:ModuleLoader;

private function init():void{
   inits("widgets/Leftbox/Disaster.swf");//模块生成swf的路径。
}
private function inits(_url:String):void{
                m1 = new ModuleLoader();
                m1.url = _url;
                m1.addEventListener(FlexEvent.LOADING,popUpProgressBar);
                m1.addEventListener(ModuleEvent.PROGRESS,loading);
                m1.addEventListener(ModuleEvent.READY,getModule);
                m1.loadModule();
}
private function popUpProgressBar(event:Event):void{
                //制作进度条的背景图
                 _group = new Group();
                _group.width = 400; _group.height = 93;
                
                var biap:BitmapFill = new BitmapFill();
                biap.source = "@Embed('icos/rightbg.png')";
                var rect:Rect = new Rect();
                rect.width= 400; rect.height = 93; rect.alpha = 0.8;
                rect.fill  = biap;
                _group.addElement(rect);
                this.stage.addChild(_group); 
                _group.horizontalCenter  = 0;
                _group.verticalCenter = 0;
                //弹出
                myProgressBar = new ProgressBar();
                
                myProgressBar.width = 304;
                myProgressBar= PopUpManager.createPopUp(group, ProgressBar, true) as ProgressBar;
                myProgressBar.mode = "manual";//设置Progress的模式
                              
                //设置Progress的样式
               myProgressBar.labelPlacement = "bottom";  

                myProgressBar.setStyle("textAlign","center");                
                myProgressBar.setStyle("barColor",0x12b9bb);                
                myProgressBar.setStyle("trackColors",["white","haloSilver"]);
                myProgressBar.setStyle("color",0x333333);
                myProgressBar.setStyle("labelWidth", myProgressBar.width);
                myProgressBar.setStyle("trackHeight",15);
                myProgressBar.setStyle("fontWeight","normal");
                myProgressBar.setStyle("fontFamily","宋体"); 
                PopUpManager.centerPopUp(myProgressBar);
                
                myProgressBar.x = (this.stage.width - myProgressBar.width)/2;
                myProgressBar.y = (this.stage.height - myProgressBar.height)/2;
 }
private function loading(event:ProgressEvent):void{
                myProgressBar.setProgress(event.bytesLoaded, event.bytesTotal); 
                myProgressBar.label="模块已加载"+Math.round((event.bytesLoaded * 100 / event.bytesTotal)) + "%";
}
private function getModule(event:ModuleEvent):void{

                //清除
                this.stage.removeChild(_group);
                PopUpManager.removePopUp(myProgressBar);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值