`

flex自定义程序 preloader 加载多个资源

    博客分类:
  • flex
阅读更多
package cn.ishion.component
{
	import cn.ishion.Util;
	
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.ProgressEvent;
	
	import mx.events.FlexEvent;
	import mx.events.RSLEvent;
	import mx.preloaders.DownloadProgressBar;

	public class TestPreloader extends DownloadProgressBar
	{
		private var _loadConfig:String="加载配置文件";
		public function TestPreloader()
		{
			super();
			super.label="加载";
			DownloadProgressBar.initializingLabel="应用加载完成";
		}
		private var _preloader:Sprite;
		override public function set preloader(value:Sprite):void{
			_preloader = value;
			
			value.addEventListener(ProgressEvent.PROGRESS, progressHandler);	
			value.addEventListener(Event.COMPLETE, completeHandler);
		
			value.addEventListener(RSLEvent.RSL_PROGRESS, rslProgressHandler);
			value.addEventListener(RSLEvent.RSL_COMPLETE, rslCompleteHandler);
			value.addEventListener(RSLEvent.RSL_ERROR, rslErrorHandler);
		
			value.addEventListener(FlexEvent.INIT_PROGRESS, initProgressHandler);
			value.addEventListener(FlexEvent.INIT_COMPLETE, initCompleteHandler);//重写这个事件的方法
		}
	    public function initCompleteHandler(event:FlexEvent):void{
			super.label=_loadConfig;
                      //加载配置文件
			var util:Util=new Util();
			util.addEventListener(ProgressEvent.PROGRESS,progressHandler);
			util.addEventListener(Event.COMPLETE,onLoadConfig);
			util.init();
		}
		private function onLoadConfig(event:Event):void{
			//mx.controls.Alert.show("loadConfig");
			trace("loadConfig");
			this.dispatchEvent(new Event(Event.COMPLETE)); //关键这句,告诉SystemManager应用初始化完成
                 //否则进入不了主程序,一直卡那			
		}
		override protected function initProgressHandler(event:Event):void{
			super.initProgressHandler(event);
		}
		override protected function showDisplayForDownloading(elapsedTime:int, event:ProgressEvent):Boolean{
			return true;
		}
		override protected function showDisplayForInit(elapsedTime:int, count:int):Boolean{
			return true;
		}
			
	}
}

 

package cn.ishion
{
	import flash.events.Event;
	import flash.events.EventDispatcher;
	import flash.events.IOErrorEvent;
	import flash.events.ProgressEvent;
	import flash.net.URLLoader;
	import flash.net.URLRequest;
	[Event(name="progress",type="flash.events.ProgressEvent")]
	[Event(name="complete",type="flash.events.Event")]
	public class Util extends EventDispatcher
	{
		public static var imagePath:String;
		
		
		public function Util()
		{
			
		}
		public function init():void{
			var urlLoader:URLLoader=new URLLoader();
			urlLoader.addEventListener(Event.COMPLETE,onResult);
			urlLoader.addEventListener(IOErrorEvent.IO_ERROR,ioError);
			urlLoader.addEventListener(ProgressEvent.PROGRESS,onProgress);
			urlLoader.load(new URLRequest("activeConfig.xml"));
		}
		
		private function onProgress(event:ProgressEvent):void{
			this.dispatchEvent(event);
		}
		public function onResult(event:Event):void{
//			
			var loader:URLLoader=event.target as URLLoader;
			var configxml:XML=XML(loader.data);
			
			imagePath=configxml.imagePath;
			this.dispatchEvent(event);
		}
		public function ioError(event:IOErrorEvent):void{
			this.dispatchEvent(event);
		}
	}
}
分享到:
评论

相关推荐

    flex 自定义加载进度框

    在Flex应用中,"预加载器"(preloader)是程序启动时显示的一个组件,它的主要功能是在用户等待整个应用程序完全加载时提供反馈。预加载器通常会显示一个进度条,以指示应用程序资源的加载进度。 在“flex自定义...

    美丽的Flex Preloader控件,页面预加载效果

    美丽的Flex Preloader控件,页面预加载效果 美丽的Flex Preloader控件,页面预加载效果 美丽的Flex Preloader控件,页面预加载效果 美丽的Flex Preloader控件,页面预加载效果

    flex初始化页面修改,preloader

    在Flex应用程序开发中,用户首次启动应用时会看到一个加载屏幕,这个屏幕通常被称为预加载器(Preloader)。预加载器的主要目的是显示应用程序加载的进度,同时为用户提供一种视觉反馈,让他们知道程序正在准备运行...

    preloader是一款小巧的jQuery页面预加载loading指示器插件

    当用户点击一个链接或者启动一个资源密集型的操作时,他们往往期待能够看到一个反馈,告知他们页面正在加载。这就是预加载loading指示器的作用。"preloader"是一款基于jQuery的小巧插件,专门用于实现这种功能,为...

    加载等待油污效果PreLoader

    "加载等待油污效果PreLoader"就是这样一个设计,旨在通过动态的视觉效果吸引用户的注意力,使他们在等待过程中不会感到厌烦。 PreLoader是一种专门用于在内容完全加载前展示的动画或图形,它以有趣的方式告诉用户...

    JavaFX学习之Preloader

    在开发大型JavaFX应用程序时,为了提升用户体验,我们有时需要在主应用程序启动之前显示一个加载屏幕,这就是Preloader的作用。Preloader允许我们在应用程序实际运行前执行一些轻量级任务,如显示进度条或简单的动画...

    mt65xx preloader 驱动

    Bootloader主要负责硬件初始化,而Preloader则进一步处理特定于平台的任务,如加载必要的驱动程序,设置内存控制器,以及准备加载操作系统所需的环境。在MT65xx平台上,Preloader驱动尤其重要,因为它处理USB到串口...

    preloader.html

    3个div和极简的代码实现纯div+css“加载中”效果,仅支持高级浏览器。可自定义样式,直接复制粘贴可用。

    MediaTek PreLoader USB VCOM 驱动

    MediaTek PreLoader USB VCOM驱动是专为联发科(Mediatek)芯片组设计的一款重要驱动程序,它主要用于在Windows操作系统中建立USB通信接口,以便于开发者进行设备调试、固件升级或数据传输。VCOM(Virtual COM Port...

    MediaTek_Preloader_USB_VCOM_Drivers_Setup_Signed

    这款驱动程序包含了预加载器(Preloader)和VCOM(虚拟串口通信)功能,使得开发者和普通用户能够在Windows 10操作系统上顺利进行设备调试、固件升级以及数据传输等操作。 1. **MediaTek 芯片组**:MediaTek是一家...

    MediaTek PreLoader USB VCOM

    在嵌入式系统中,PreLoader是引导加载程序的一部分,它位于BIOS或UEFI之后,主操作系统加载之前。它的主要任务是初始化硬件,设置基本的内存管理和I/O操作,以便后续的系统加载器或操作系统可以正常工作。MediaTek ...

    Windows_10_MTK_VCOM_USB_Preloader_Drivers_tehnotone.com.zip

    至于压缩包内的文件“Windows_10_MTK_VCOM_USB_Preloader_Drivers_tehnotone.com”,这很可能是包含驱动程序安装文件的主程序或者是一个包含多个驱动相关文件的文件夹。用户需要解压该文件,按照里面的说明或者直接...

    Flex启动与初始化

    在 Flex 启动过程中,SystemManager 会创建一个加载器(Preloader),用于加载应用程序所需的资源。加载器是一个 2 帧的 MovieClip,第一帧用于创建加载器,第二帧用于加载应用程序。加载器的外观是通过代码绘制的。...

    PreLoader demo

    在Android应用开发中,"PreLoader demo"是一个用于优化页面...以上就是关于"PreLoader demo"的详细解释,这个实例展示了如何利用Android的多线程和Handler机制来优化页面启动性能,以及预加载技术在实际应用中的价值。

    联发科MT65xx Preloader驱动+图文+安装说明 (1).zip

    Preloader驱动是Android操作系统在启动过程中加载的关键组件之一,尤其对于基于MT65xx平台的设备来说,正确安装和配置Preloader驱动至关重要。 Preloader驱动程序位于Android系统的引导流程早期阶段,它负责初始化...

    MTK通用驱动:解决MT65xx Preloader 驱动问题

    Preloader是操作系统加载前运行的一小段代码,它负责初始化硬件并为内核启动做好准备。当Preloader出现问题时,可能会导致设备无法正常启动或出现其他系统故障。 MTK通用驱动主要目的是为了帮助用户解决这些问题,...

    使用ReactNative中的自定义图标弹跳预加载器组件

    在React Native应用开发中,创建一个自定义图标弹跳预加载器组件是一个常见的需求,它不仅可以提高用户体验,还可以为应用程序增添独特的视觉效果。本篇文章将深入探讨如何在React Native项目中实现这样的组件。 ...

    解决MT65xx Preloader 驱动问题(不用积分纯分享).zip

    Preloader是固件加载过程中的一个关键组件,它在操作系统启动之前运行,负责初始化硬件和加载基本的驱动程序。当遇到“MT65xx Preloader”错误时,通常意味着设备在启动过程中遇到了问题,可能是由于驱动不兼容、...

    flex as资料

    如何设计和实现一个自定义预加载器,包括监控资源加载状态、动画效果和用户反馈等。 5. **数据绑定**:Flex中的数据绑定允许视图组件与模型数据自动同步,减少了手动更新视图的必要,简化了代码。 6. **事件处理**...

    MediaTek PreLoader USB VCOM Port WIN10.zip

    在MediaTek的环境中,它用于连接到PreLoader,PreLoader是芯片在引导过程中的一个阶段,负责初始化硬件和加载更高级别的固件。 安装这个驱动的过程通常包括以下步骤: 1. 解压下载的"MediaTek PreLoader USB VCOM ...

Global site tag (gtag.js) - Google Analytics