2013-09-23 39 views
0

我想完成的是在容器中加載圖像。谷歌搜索一段時間後,我發現我可以使用Loader。但是,圖像最初由BitmapImage元素顯示。Flex AS3:我如何動態加載圖像?

我給你的問題是,如果通過初始化一個BitmapImage,設置源代碼並將其添加到容器來加載圖像是一種好方法,或者我應該使用`Loader方式?

UPDATE:
這是我改變它使用一個Image代碼,註冊READY事件,但它不會被觸發。

protected function loadCompleteHandler(event:Event):void 
{ 
    imageContainer.addElement(attachedImage); 
} 

protected function loadAttachedImage():void { 
    attachedImage = new Image(); 
    attachedImage.addEventListener(FlexEvent.READY, loadCompleteHandler, false, 0, true); 
    attachedImage.source = "assets/images/layouts/bottomAligned.png"; 
} 

回答

2

如果您正在使用Flex,你應該使用BitmapImageImageLoader不是Flex組件,因此不應在Flex應用程序中隨時使用。 Loader是您在純ActionScript項目中下載和顯示圖像的方式。

+0

使用Loader並將其內容放入BitmapImage是一個不錯的選擇嗎? – Andrew

+2

你爲什麼? 「BitmapImage」和「Image」都能夠加載來自相同來源的圖像以及其他幾個圖像。你所需要做的就是設置'source'屬性並自動加載它。 –

+1

您需要聽者直接連接到圖像,而不是到'contentLoaderInfo'屬性像你這樣'Loader'做。所以'Image.addEventListener(Event.COMPLETE,completeHandler)',而不是'Image.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler)' –