Flex Image源事件,如何知道何时收到新源?

时间:2009-05-12 15:26:23

标签: image actionscript-3 events

我有一个简单的Image组件, 我在创建时动态更改其源。

myimg.source = "http://foo/bar.jpg"

如何知道何时加载和接收图像以便检查其宽度?

2 个答案:

答案 0 :(得分:2)

如果你正在使用flex: 在图像组件上设置渲染事件:

<mx:Image id="theImage" render="yourFunction(event)"/>

在脚本字段中:

private function yourFunction(evt:Event){
var theWidth= (evt.target as Image).width;
}

在即将更新和呈现显示列表时调度任何displayobject时,将调用render事件。

Flash(AS3.0):

//constructor function
public function CustomDisplayObject() {
theImage.addEventListener(Event.RENDER, renderHandler);
}

private function renderHandler(evt:Event):void {
var theWidth:int = evt.width;
}

(仅在flex中测试)

答案 1 :(得分:1)

您应该能够在图像event.creationComplete事件中添加一个事件监听器,以了解它何时完成加载。或者也许是event.progress。我将看一下Image控件上的inherited events,看看哪个有效。