flex自定义进度条
2011-06-24 点击:次
其实flex自定义进度条就是扩展preloader这个类,新建一个preloader引用的的类继承DownloadProgressBar在里面加上自己喜欢的样式就OK了,下面我们开始做一个demo
1,创建一个flex工程
2,创建过一个首页(其实新建工程的时候就elipse就会根据你的工程名称创建一个首页)
我们创建一个叫myDownloadPro.mxml 里面的写法很简单
- <?xml version="1.0"?>
- <!-- Simple example to demonstrate the Repeater class. -->
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" preloader="aa.myDownProBar2">//就是在这里引用你自定义的进度条的类
- <mx:Text text="程序进度条测试" x="37" y="71"/>
- </mx:Application>
3,创建一个自定义的进度条类 myDownProBar.as
源码如下:
- package aa
- {
- import mx.preloaders.DownloadProgressBar;
- import flash.display.Sprite;
- import flash.events.ProgressEvent
- import flash.events.*
- import flash.text.TextField;
- import mx.events.*;
- public class myDownProBar extends DownloadProgressBar
- {
- public var msg:TextField
- public function myDownProBar()
- {
- 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="完成了!!!!"
- }
- //进度条加载完成后的方法在这里要注意将把事件派遣给加载的文件的Complete(初始化呈现) 事件
- private function flInC(e:FlexEvent):void{msg.text="初始化完毕!"
- //初始完后要派遣 Complete 事件,不然会停在这里,不会进入程序画面的
- dispatchEvent(new Event(Event.COMPLETE))
- }
- private function flIn(e:FlexEvent):void{//进度条开始加载的方法
- msg.text="开始初始化程序"
- }
- }
- }
其实一个自定义的进度条就是这么简单
很轻而易举的就搞定了
- 上一篇:Flex 4双向数据绑定
- 下一篇:没有了




