包 | fl.controls |
类 | public class ProgressBarMode |
继承 | ProgressBarMode Object |
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
mode
属性值。
相关 API 元素
公共常量
常量 | 由以下参数定义 | ||
---|---|---|---|
EVENT : String = "event" [静态]
由 source 属性指定的组件必须调度 progress 和 complete 事件。 | ProgressBarMode | ||
MANUAL : String = "manual" [静态]
手动更新 ProgressBar 组件的状态。 | ProgressBarMode | ||
POLLED : String = "polled" [静态]
可通过对源进行轮询来更新进度。 | ProgressBarMode |
常量详细信息
EVENT | 常量 |
public static const EVENT:String = "event"
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
由 source
属性指定的组件必须调度 progress
和 complete
事件。 ProgressBar 使用这些事件更新其状态。
相关 API 元素
ScrollPane complete 事件
ScrollPane progress 事件
UILoader complete 事件
UILoader progress 事件
LoaderInfo complete 事件
LoaderInfo progress 事件
Sound complete 事件
Sound progress 事件
FileReference complete 事件
FileReference progress 事件
URLLoader complete 事件
URLLoader progress 事件
URLStream complete 事件
URLStream progress 事件
ScrollPane progress 事件
UILoader complete 事件
UILoader progress 事件
LoaderInfo complete 事件
LoaderInfo progress 事件
Sound complete 事件
Sound progress 事件
FileReference complete 事件
FileReference progress 事件
URLLoader complete 事件
URLLoader progress 事件
URLStream complete 事件
URLStream progress 事件
示例 ( 如何使用本示例 )
下例创建 ProgressBar、Label 和 UILoader 组件实例,并显示图像的加载进度:
import fl.containers.UILoader; import fl.controls.Label; import fl.controls.ProgressBar; import fl.controls.ProgressBarMode; import fl.events.ComponentEvent; var url:String = "http://www.helpexamples.com/flash/images/image2.jpg"; var myUILoader:UILoader = new UILoader(); myUILoader.visible = false; myUILoader.scaleContent = false; myUILoader.autoLoad = false; myUILoader.source = url; myUILoader.addEventListener(ComponentEvent.RESIZE, resizeHandler); myUILoader.load(); var myProgressBar:ProgressBar = new ProgressBar(); myProgressBar.mode = ProgressBarMode.EVENT; myProgressBar.indeterminate = false; myProgressBar.source = myUILoader; myProgressBar.setSize(320, 12); myProgressBar.move((stage.stageWidth - myProgressBar.width) / 2, (stage.stageHeight - myProgressBar.height) / 2); myProgressBar.addEventListener(Event.COMPLETE, completeHandler); myProgressBar.addEventListener(ProgressEvent.PROGRESS, progressHandler); addChild(myProgressBar); var myLabel:Label = new Label(); myLabel.text = ""; myLabel.autoSize = TextFieldAutoSize.LEFT; myLabel.move(myProgressBar.x, myProgressBar.y + myProgressBar.height); addChild(myLabel); function progressHandler(event:ProgressEvent):void { trace("progress:", event.bytesLoaded, "of", event.bytesTotal, "bytes"); myLabel.text = event.bytesLoaded + " of " + event.bytesTotal + " (" + event.currentTarget.percentComplete.toFixed(1) + "%)"; } function completeHandler(event:Event):void { trace("complete:"); removeChild(myLabel); removeChild(myProgressBar); myProgressBar.removeEventListener(ProgressEvent.PROGRESS, progressHandler); myProgressBar.removeEventListener(Event.COMPLETE, completeHandler); addChild(myUILoader); } function resizeHandler(event:ComponentEvent):void { trace("resize:"); var myUILdr:UILoader = event.currentTarget as UILoader; myUILdr.move((stage.stageWidth - myUILdr.width) / 2, (stage.stageHeight - myUILdr.height) / 2); myUILdr.visible = true; }
MANUAL | 常量 |
public static const MANUAL:String = "manual"
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
手动更新 ProgressBar 组件的状态。 在此模式下,指定 minimum
和 maximum
属性,并使用 setProgress()
方法指定状态。
相关 API 元素
示例 ( 如何使用本示例 )
下例创建 ProgressBar 和 Label 组件实例以显示进度栏的状态:
import fl.controls.Label; import fl.controls.ProgressBar; import fl.controls.ProgressBarMode; var myProgressBar:ProgressBar = new ProgressBar(); myProgressBar.indeterminate = false; myProgressBar.mode = ProgressBarMode.MANUAL; myProgressBar.maximum = 256; myProgressBar.setSize(320, 16); myProgressBar.move(10, 10) addChild(myProgressBar); var myLabel:Label = new Label(); myLabel.text = ""; myLabel.autoSize = TextFieldAutoSize.LEFT; myLabel.move(myProgressBar.x, myProgressBar.y + myProgressBar.height); addChild(myLabel); var t:Timer = new Timer(150); t.addEventListener(TimerEvent.TIMER, timerHandler); t.start(); function timerHandler(event:TimerEvent):void { myProgressBar.setProgress(myProgressBar.value + 1, myProgressBar.maximum); if (myProgressBar.percentComplete == 100) { myProgressBar.setProgress(0, myProgressBar.maximum); } myLabel.text = int(myProgressBar.value) + " of " + int(myProgressBar.maximum) + " (" + int(myProgressBar.percentComplete) + "%)"; }
POLLED | 常量 |
public static const POLLED:String = "polled"
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
可通过对源进行轮询来更新进度。 source
属性必须指定一个用来公开 bytesLoaded
和 bytesTotal
属性的对象。
相关 API 元素
ScrollPane.bytesLoaded
ScrollPane.bytesTotal
UILoader.bytesLoaded
UILoader.bytesTotal
Sound.bytesLoaded
Sound.bytesTotal
NetStream.bytesLoaded
NetStream.bytesTotal
URLLoader.bytesLoaded
URLLoader.bytesTotal
ScrollPane.bytesTotal
UILoader.bytesLoaded
UILoader.bytesTotal
Sound.bytesLoaded
Sound.bytesTotal
NetStream.bytesLoaded
NetStream.bytesTotal
URLLoader.bytesLoaded
URLLoader.bytesTotal
示例 ( 如何使用本示例 )
下例使用 ProgressBar 显示 FLV 文件的加载进度:
import fl.controls.ProgressBar; import fl.controls.ProgressBarMode; var url:String = "http://www.helpexamples.com/flash/video/cuepoints.flv"; var nc:NetConnection = new NetConnection(); nc.connect(null); var ns:NetStream = new NetStream(nc); ns.client = {onMetaData:metaDataHandler}; ns.play(url); var vid:Video = new Video(); vid.attachNetStream(ns); vid.x = (stage.stageWidth - vid.width) / 2; vid.y = (stage.stageHeight - vid.height) / 2; addChild(vid); var myProgressBar:ProgressBar = new ProgressBar(); myProgressBar.mode = ProgressBarMode.POLLED; myProgressBar.indeterminate = false; myProgressBar.source = ns; myProgressBar.setSize(vid.width, myProgressBar.height); myProgressBar.move(vid.x, vid.y + vid.height); addChild(myProgressBar); function metaDataHandler(meta:Object):void { try { trace("w:" + meta.width, "h:" + meta.height); vid.width = meta.width; vid.height = meta.height; vid.x = (stage.stageWidth - vid.width) / 2; vid.y = (stage.stageHeight - vid.height) / 2; myProgressBar.width = vid.width; myProgressBar.move(vid.x, vid.y + vid.height); } catch (error:*) { // } }
Tue Jun 12 2018, 11:04 AM Z