在加载module的时候不能使用重写的SparkDownloadProgressBar或DownloadProgressBar,在module中不支持preloader属性,这样就要使用progressbar来实现显示进度条了。这样在加载器后面用一个progressbar,一定要放在加载器后面,不然显示的时候会被ModuleLoader 遮挡住。moduleloader有3个事件,loading为正在加载中,progress为进度事件,ready为加载完成。mode="manual";这个属性一定要加上,不然不显示进度,百分比出不来。
代码可以这样
<mx:script>
public function loading(e:ModuleEvent):void{
myProgressBar.setProgress(e.bytesLoaded,e.bytesTotal);
myProgressBar.label="模块已加载"+Math.round((e.bytesLoaded * 100 / e.bytesTotal)) + "%";
}
</mx:script>
<mx:ModuleLoader ready="myProgressBar.visible=false" loading="myProgressBar.visible=true" progress="loading(event)" id="module" />
<mx:ProgressBar id="myProgressBar" horizontalCenter="0" verticalCenter="0" mode="manual" width="200"/>
还可以如下操作:
private var myProgressBar:ProgressBar;
private function init():void{
m1.url="MyModule.swf";
m1.addEventListener(ModuleEvent.READY,getModule);
}
private function getModule(event:ModuleEvent):void{
(m1.child as MyModule).getModuleSuccess();
}
private function loading(event:ProgressEvent):void{
myProgressBar.setProgress(event.bytesLoaded, event.bytesTotal);
myProgressBar.label="模块已加载"+Math.round((event.bytesLoaded * 100 / event.bytesTotal)) + "%";
}
private function removeProgressBar(event:Event):void{
//清除
PopUpManager.removePopUp(myProgressBar);
}
private function popUpProgressBar(event:Event):void{
//弹出
myProgressBar= new ProgressBar();
myProgressBar.mode="manual";
myProgressBar= PopUpManager.createPopUp(this, ProgressBar, true) as ProgressBar;
PopUpManager.centerPopUp(myProgressBar);
myProgressBar.x = (this.stage.width - myProgressBar.width)/2;
myProgressBar.y = (this.stage.height - myProgressBar.height)/2;
}
]]>
</fx:Script>
<mx:ModuleLoader id="m1" width="100%" height="100%" loading="popUpProgressBar(event)" progress="loading(event)" ready="removeProgressBar(event)"/>
分享到:
相关推荐
在这个特定的案例中,我们关注的是使用Flex实现的自定义圆形加载进度条。 在Web应用中,进度条是用户界面中常见的一种元素,用于指示某个任务或数据加载的进度。圆形进度条与传统的水平进度条不同,它以圆形图案...
在Flex3中,有时候我们需要自定义加载进度条来满足特定的界面设计或用户体验需求。下面将详细讲解如何在Flex3中实现自定义的加载进度条。 1. **自定义组件基础** 在Flex3中,我们可以创建自定义组件来扩展或替换...
5. 显示进度条:在`onProgress`事件处理函数中,我们可以计算已加载的数据比例,并更新进度条组件(例如,ProgressBar或Spark进度条组件)的值。 ```actionscript function onProgress(event:Event):void { var ...
Flex进度条是一种用于显示操作进度的图形用户界面组件,尤其适用于那些需要花费一定时间的异步操作,比如文件下载、音乐或视频的加载以及登录过程等。通过进度条,用户可以直观地看到当前操作的完成情况,从而减少...
Flex加载Module是Adobe Flex框架中的一个关键特性,它允许开发者将大型应用程序分解为多个模块,每个模块都可以独立加载和卸载。这样的设计提高了应用程序的响应速度,降低了初始加载时间,并且使得用户能够在需要时...
对于基于Flex框架的应用而言,进度条同样扮演着重要的角色,尤其是在应用初始化或数据加载过程中提供用户反馈,提升用户体验方面。本文将详细探讨Flex进度条的实现方式,并通过一个具体示例来阐述其工作原理。 ####...
在Flex中,我们可以创建自定义的用户界面组件,其中包括进度条,用于显示任务的完成进度或数据加载状态。 描述部分虽然为空,但根据标签“源码”和“工具”,我们可以推测这篇博文可能提供了关于如何使用Flex来创建...
进度条是用户界面中常见的组件,用于表示任务的完成程度或加载状态。本文将深入探讨如何在Flex 4中创建和定制进度条的皮肤。 首先,我们需要了解Flex 4中的皮肤架构。Flex 4引入了Spark组件模型,其中皮肤是组件...
flexBulider页面加载动态图片的显示
在Flex中,预加载器通常用来显示加载进度,同时隐藏可能由于大文件加载而产生的长时间等待。预加载动画可以是简单的进度条,也可以是更复杂的视觉效果,目的是提供一种反馈,让用户知道程序正在运行并接近完成。 ...
首先,我们需要创建一个`ModuleLoader`组件,该组件负责加载和显示Module。在`ModuleLoader`的`source`属性中指定要加载的Module的URL或ID。例如,如果我们要加载名为`VideoModule`的Module,可以这样设置: ```...
Flex 基于 Module 模块的开发是一种有效的软件架构策略,它允许将大型应用程序分解为更小、更易于管理的单元,称为模块。模块化的主要目标是提高代码的可维护性、可扩展性和性能。 1. **模块化的定义与原理** - **...
本篇文章将详细讲解如何在ASP.NET中实现在前台显示后台处理进度条。 首先,我们需要理解ASP.NET的异步处理机制。在ASP.NET中,页面生命周期分为多个阶段,如初始化、加载、回发数据、验证、保存状态和卸载等。当...
在Flex开发中,`ModuleLoader` 是一个关键组件,它允许开发者动态地加载MX模块(即Flex模块,独立的SWF文件)。`ModuleLoader` 的主要功能是将模块的加载过程与应用程序的其余部分分离,这有助于实现代码的模块化和...
例如,可以设置容器的`flex-direction`为`row`,让进度条背景和实际进度并排显示;通过`justify-content`调整它们在主轴上的相对位置;使用`align-items`确保它们在交叉轴上保持居中。 接下来,我们要实现进度条的...
在处理大文件加载时,为了提供用户友好的体验,通常会使用进度条来显示加载进度。"Flex actionscript3 as3加载文件资源进度条.rar"这个压缩包可能包含了一个示例项目,演示如何在Flex应用中实现文件加载的进度反馈。...
首先,了解Flex模块(Module)。在Flex中,一个模块是一个可以独立编译和加载的SWF文件,它可以在运行时动态插入到主应用程序中。模块化设计使开发者能够将应用拆分为更小、更专注的功能单元,每个单元都可以单独...
编译并运行你的Flex应用,检查地图是否正确加载和显示,同时解决可能出现的错误和警告。 通过以上步骤,你可以成功地在ArcGIS for Flex应用中加载高德地图。这个过程涉及到的地图服务集成、自定义图层创建以及Flex...
flex加载swf的N种方法.zip
在本文中,我们将深入探讨如何在Flex环境中自定义加载条,即进度条组件。Flex是一种基于ActionScript 3.0的开源框架,用于构建富互联网应用程序(RIA)。它提供了丰富的UI组件库,其中包括标准的进度条组件,但有时...