我有一些自定义组件,派生自UIComponent。我重载了updateDisplayList,因此它们具有自定义外观。我已经创建了一个布局来布置这些自定义组件,但要正确放置它们,我必须知道自定义组件的宽度,高度。它们是动态创建的。在创建了所有这些(每个都触发了creationCompleted事件)之后,我尝试布局它们,但是width / height属性仍为0。 我也尝试在布局过程之前将它们添加到画布。
所以我的问题是,如何创建动态放置的自定义UIComponent,并了解它的宽度和高度。
感谢
编辑:
使用mx_internal命名空间我可以设置宽度和高度(使用内部$ width和$ height字段),看起来它正在工作。但不是那么干净/好的解决方案。
答案 0 :(得分:1)
如果您从UIComponent继承而不是从其子类之一继承,那么您可能希望确保实现measure()方法等。查看Flex文档,了解有关实现自己的UIComponents的更多信息 - 这里有很多信息可供阅读,但如果您直接从UIComponent派生,那么您应该知道的所有内容:
http://www.adobe.com/livedocs/flex/3/html/help.html?content=ascomponents_advanced_3.html
希望它有所帮助!您也可以尝试发布一些代码,这样我们就可以继续使用更具体的内容。但是很有可能,你只是没有实现你应该检索的东西以便检索这些值。 (而且你的直觉是正确的 - 你不应该深入挖掘mx_internal以获得你需要的东西。)
答案 1 :(得分:0)
也许这有用吗?
component.getExplicitOrMeasuredWidth()
component.getExplicitOrMeasuredHeight()