fl.controls
public class ProgressBarMode
继承ProgressBarMode Inheritance Object

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

ProgressBarMode 类定义 ProgressBar 类的 mode 属性值。

另请参见

ProgressBar.mode



公共 属性
 属性定义方
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
 Inheritedprototype : Object
[static] 对类或函数对象的原型对象的引用。
Object
公共 方法
 方法定义方
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
公共 常量
 常量定义方
  EVENT : String = "event"
[static] 由 source 属性指定的组件必须调度 progress 和 complete 事件。
ProgressBarMode
  MANUAL : String = "manual"
[static] 手动更新 ProgressBar 组件的状态。
ProgressBarMode
  POLLED : String = "polled"
[static] 可通过对源进行轮询来更新进度。
ProgressBarMode
常量详细信息
EVENT常量
public static const EVENT:String = "event"

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

source 属性指定的组件必须调度 progresscomplete 事件。 ProgressBar 使用这些事件更新其状态。

另请参见


示例
如何使用示例

下例创建 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
Player 版本 : Flash Player 9.0.28.0

手动更新 ProgressBar 组件的状态。 在此模式下,指定 minimummaximum 属性,并使用 setProgress() 方法指定状态。

另请参见


示例
如何使用示例

下例创建 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
Player 版本 : Flash Player 9.0.28.0

可通过对源进行轮询来更新进度。 source 属性必须指定一个用来公开 bytesLoadedbytesTotal 属性的对象。

另请参见


示例
如何使用示例

下例使用 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:*) {
        // 
    }
}




 

评论添加到页面后给我发送电子邮件 | 评论报告

当前页: http://livedocs.adobe.com/flash/9.0_cn/ActionScriptLangRefV3/fl/controls/ProgressBarMode.html