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