0
我創建了一個動態添加一個VBox,它包含兩個圖像。導入從UIComponent派生的自定義組件。問題是包含這兩個圖像的Vbox只有很小的尺寸。我想VBox延伸到兩個圖像的大小。Flex動態創建的組件添加到自定義組件
這是我如何創建VBOX ....
var open:Image = new Image();
open.source = 'assets/icons/open.png';
var save:Image = new Image();
save.source = 'assets/icons/save.png';
var box:VBox = new VBox();
box.addChild(open);
box.addChild(save);
該組件是這樣的....
public class MyComponent extends UIComponent
我的垂直框分配給(這是在creationComplete事件之後)
public function set VBoxOptions(value:UIComponent) : void {
if(_vBoxOptions){
removeChild(_vBoxOptions);
}
_vBoxOptions = value;
addChild(_vBoxOptions);
invalidateSize();
}
在更新顯示列表我做..
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
if(_hoverOptions)
{
_hoverOptions.move(unscaledWidth+2,2); //please note this is not the problem,
}
}
感謝提前幫助...
嗨,我不知道我是否可以。但無論如何,我仍然想知道問題是什麼? – rid00z 2009-09-09 00:57:22
畫布會動態調整其內容(VBox也會)。 UIComponent不會調整其內容。它是一個外殼。在這種情況下,它似乎根本沒有調整大小。這就是爲什麼組件在放置在Canvas中時按預期顯示的原因。除非你有對UIComponent的特定需求,否則就使用Canvas。 – 2009-09-09 01:30:12