我正在扩展VBox来制作Calendar组件。我应该重写哪些方法来添加代码来绘制自己?所有这些方法有什么区别?有没有我应该把每一个,或者有一个具体的方法,我可以重写,添加我的绘图代码,并让它的工作?Flex组件生命周期:validateNow,validateDisplayList,invalidateDisplalList,commitProperties等
谢谢!
我正在扩展VBox来制作Calendar组件。我应该重写哪些方法来添加代码来绘制自己?所有这些方法有什么区别?有没有我应该把每一个,或者有一个具体的方法,我可以重写,添加我的绘图代码,并让它的工作?Flex组件生命周期:validateNow,validateDisplayList,invalidateDisplalList,commitProperties等
谢谢!
This white-paper也许是我见过的最好的信息来源。
我也推荐这篇文章:
简单地说,如果你正在做的图形操作来绘制,你要使用覆盖updateDisplayList()
,并根据需要调用invalidateDisplayList()
;如果您使用子组件,则将使用commitProperties()/invalidateProperties()
。如果您动态调整大小,则需要measure()
和invalidateSize()
。
覆盖updateDisplayList方法UIComponent
并做你的绘图。使用组件的unscaledWidth
和unscaledHeight
作为绘图的边界。
Deepa's MAX 2008谈话很容易就是最好的和最容易理解的话题。它显示了如何在Flex 3中正确编写组件。
来自Adobe Flex 3 Live Docs Advanced Visual Components in ActionScript - 很好的来源。
这是一个伟大的阅读,感谢分享! – 2009-11-05 16:17:47