包 | flashx.textLayout.events |
类 | public class StatusChangeEvent |
继承 | StatusChangeEvent Event Object |
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
公共属性
属性 | 由以下参数定义 | ||
---|---|---|---|
bubbles : Boolean [只读]
表示事件是否为冒泡事件。 | Event | ||
cancelable : Boolean [只读]
表示是否可以阻止与事件相关联的行为。 | Event | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
currentTarget : Object [只读]
当前正在使用某个事件侦听器处理 Event 对象的对象。 | Event | ||
element : FlowElement
发生了状态变化的 FlowElement 实例。 | StatusChangeEvent | ||
errorEvent : ErrorEvent
由于状态改变而调度的 ErrorEvent 对象。 | StatusChangeEvent | ||
eventPhase : uint [只读]
事件流中的当前阶段。 | Event | ||
status : String
FlowElement 的新状态。 | StatusChangeEvent | ||
target : Object [只读]
事件目标。 | Event | ||
type : String [只读]
事件的类型。 | Event |
公共方法
方法 | 由以下参数定义 | ||
---|---|---|---|
StatusChangeEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, element:FlowElement = null, status:String = null, errorEvent:ErrorEvent = null) 创建事件对象,其中包含有关状态改变的信息。 | StatusChangeEvent | ||
复制 Event 子类的实例。 | Event | ||
用于在自定义 ActionScript 3.0 Event 类中实现 toString() 方法的实用程序函数。 | Event | ||
表示对象是否已经定义了指定的属性。 | Object | ||
检查是否已对事件调用 preventDefault() 方法。 | Event | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
如果可以取消事件的默认行为,则取消该行为。 | Event | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
设置循环操作动态属性的可用性。 | Object | ||
防止对事件流中当前节点中和所有后续节点中的事件侦听器进行处理。 | Event | ||
防止对事件流中当前节点的后续节点中的所有事件侦听器进行处理。 | Event | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回一个字符串,其中包含 Event 对象的所有属性。 | Event | ||
返回指定对象的原始值。 | Object |
公共常量
常量 | 由以下参数定义 | ||
---|---|---|---|
INLINE_GRAPHIC_STATUS_CHANGE : String = "inlineGraphicStatusChange" [静态]
定义 inlineGraphicStatusChanged 事件对象的 type 属性值. | StatusChangeEvent |
属性详细信息
element | 属性 |
element:FlowElement
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
发生了状态变化的 FlowElement 实例。
实现
public function get element():FlowElement
public function set element(value:FlowElement):void
相关 API 元素
errorEvent | 属性 |
errorEvent:ErrorEvent
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
由于状态改变而调度的 ErrorEvent 对象。
实现
public function get errorEvent():ErrorEvent
public function set errorEvent(value:ErrorEvent):void
相关 API 元素
status | 属性 |
status:String
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
FlowElement 的新状态。此属性的可能值是由 InlineGraphicElementStatus 类定义的。在 InlineGraphicElementStatus 类中存在五个可用的静态常量:
- ERROR:String = "error"。在加载引用的图形期间发生了错误。
- LOADING:字符串 = "loading"。已经对一个 URL 图形元素启动了(但尚未完成)加载。
- LOAD_PENDING :字符串 = "loadPending"。图形元素是尚未加载的 URL。
- READY:字符串 = "ready"。图形已完成加载并正确调整了大小。
- SIZE_PENDING :字符串 = "sizePending"。具有 auto 或百分比宽度/高度值的图形元素已完成加载但尚未重新合成。
实现
public function get status():String
public function set status(value:String):void
相关 API 元素
构造函数详细信息
StatusChangeEvent | () | 构造函数 |
public function StatusChangeEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, element:FlowElement = null, status:String = null, errorEvent:ErrorEvent = null)
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
创建事件对象,其中包含有关状态改变的信息。
参数type:String — 事件的类型。事件侦听器可以通过继承的 type 属性访问此信息。只有一种类型的 StatusChangeEvent:StatusChangeEvent.INLINE_GRAPHIC_STATUS_CHANGE ;
| |
bubbles:Boolean (default = false ) — 指示事件是否是冒泡事件。该事件不会冒泡。
| |
cancelable:Boolean (default = false ) — 表示是否可以阻止与事件相关联的行为。无法取消此事件。
| |
element:FlowElement (default = null ) — 发生了状态变化的 FlowElement 实例。
| |
status:String (default = null ) — FlowElement 实例的新状态。
| |
errorEvent:ErrorEvent (default = null ) — 与状态关联的 ErrorEvent 对象(如果有)。
|
常量详细信息
INLINE_GRAPHIC_STATUS_CHANGE | 常量 |
public static const INLINE_GRAPHIC_STATUS_CHANGE:String = "inlineGraphicStatusChange"
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
定义 inlineGraphicStatusChanged
事件对象的 type
。
示例 如何使用本示例
StatusChangeEvent_example.as
此示例说明如何创建事件处理函数,用于侦听 InlineGraphicElement 对象的成功加载。两个关键的步骤是针对文本流调用
addEventListener()
方法,以及创建一个事件处理函数。
针对 TextFlow 实例调用 addEventListener()
方法。可以使用简单字符串 "inlineGraphicsStatusChanged"
,但是使用静态常量 StatusChangeEvent.INLINE_GRAPHIC_STATUS_CHANGE
更安全。
此示例中的事件处理函数称为 statusChangeHandler()
。事件处理函数首先会检查图形是否已加载。如果图形已加载,则事件处理函数会调整图形的高度以与文本的高度匹配。最后,事件处理函数会针对文本流调用 updateAllcontrollers()
以重新合成和显示文本和内嵌图形。
package flashx.textLayout.events.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.elements.InlineGraphicElement; import flashx.textLayout.elements.InlineGraphicElementStatus; import flashx.textLayout.elements.ParagraphElement; import flashx.textLayout.elements.SpanElement; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.events.StatusChangeEvent; public class StatusChangeEvent_example extends Sprite { private var _textFlow:TextFlow; private var _inlineGraphic:InlineGraphicElement; private var graphicHeight:Number; public function StatusChangeEvent_example() { _textFlow = new TextFlow(); _textFlow.fontSize = 48; graphicHeight = 48 var p:ParagraphElement = new ParagraphElement(); _textFlow.addChild(p); var span:SpanElement = new SpanElement(); span.text = "Text "; p.addChild(span); _inlineGraphic = new InlineGraphicElement(); _inlineGraphic.source = "../../images/textLayout_TextFlow.gif"; p.addChild(_inlineGraphic); var span2:SpanElement = new SpanElement(); span2.text = " Flow"; p.addChild(span2); _textFlow.addEventListener(StatusChangeEvent.INLINE_GRAPHIC_STATUS_CHANGE,statusChangeHandler); _textFlow.flowComposer.addController(new ContainerController(this,400,200)); _textFlow.flowComposer.updateAllControllers(); } private function statusChangeHandler(e:StatusChangeEvent):void { // if the graphic has loaded update the display // set the loaded graphic's height to match text height if (e.status == InlineGraphicElementStatus.READY || e.status == InlineGraphicElementStatus.SIZE_PENDING) { _inlineGraphic.height = graphicHeight; _textFlow.flowComposer.updateAllControllers(); } } } }
Tue Jun 12 2018, 11:04 AM Z