专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Flex

flex 自定义组件 (最好重写的步骤) 2

发布时间:2011-06-27 19:48:12 文章来源:www.iduyao.cn 采编人员:星星草
flex 自定义组件 (最好重写的方法) 2

如要重写组件,就不得不了解Flex中组件初始化过程。初始化过程中,系统依次调用组件的一下方法Constructor -> createChildren() ->commitProperties() -> measure() ->updateDisplayList()

 

介绍下各个函数的作用:

Constructor构造器:设置默认值,初始化属性,默认值最合适的地方。

createChildren用来创建组件的子对象(因为在组件加入容器之前添加子对象没有意义,此方法addChild是最合适的地方)

commitProperties用来处理属性值更新(多个属性值更新后统一处理入口和单值多次修改后处理入口)

measure设置组件一些默认显示属性大小(以便Flex布局管理器能正确知道该组件的大小,给其分配适当空间)
updateDisplayList用来重绘组件,子对象布局逻辑等

 

添加了可视化元素的自定义组建(说得直白点,就是样子和基类组件不同了),必须要重写createChildren()函数和updateDisplayList()函数。

当自定义的组建需要对传入的某个属性做出反应的话,就应该重写commitProperties函数。(调用invalidateProperties)

当自定义的组件和基类组件的大小不一致时,就应该重写measure方法,保证提供正确的大小信息。(调用invalidateSize)

当组件需要调整子对象全局显示逻辑,重写updateDisplayList,调用invalidateDisplayList

 

综合看来commitProperties,measure和updateDisplayList三个方法对应各自职责,但某些情况下measure和updateDisplayList处理边界有点模糊,个人更倾向于只重写和调用updateDisplayList

 

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: