`
wl110231
  • 浏览: 3296 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

 

分享到:
评论

相关推荐

    flex 高级自定义组件

    总的来说,理解并熟练运用这些方法是开发Flex高级自定义组件的关键。通过重写这些方法,开发者可以精确控制组件的外观、行为、布局和样式,从而创建出功能强大且具有独特设计的组件,满足各种复杂的交互需求。在实际...

    Flex4自定义组件开发.pdf

    ### Flex4自定义组件开发详解 #### 一、Flex4自定义组件概述 Flex4(也称为Spark)是Adobe Flex框架的一个重要版本,它引入了许多新的特性,包括改进的组件库、性能优化以及更好的可定制性。在Flex4中,自定义组件...

    Flex自定义组件和事件

    ### 一、Flex自定义组件 #### 1. 创建自定义组件的原因 在Flex应用中,有时标准组件库提供的组件无法满足特定的设计或功能需求。此时,开发者需要创建自定义组件来扩展Flex的功能,以实现个性化设计或定制化行为。...

    flex 重写组件

    1. **解决业务需求**:当现有Flex组件的功能或样式不足以满足项目的特殊需求时,如自定义一个按钮组件以支持长文本自动换行的功能,就需要对其进行重写。 2. **模块化设计**:为了提高代码的复用性和维护性,开发者...

    flex中的组件重写例子

    在Flex开发中,组件重写是一项关键技能,它允许开发者根据特定需求定制标准组件,以实现更高效、更具个性化的用户界面。本文将深入探讨Flex组件重写的原因、注意事项、重写过程以及组件的内部执行流程,并通过示例...

    flex 自定义控件、事件

    2. **重写或扩展属性和方法**:根据需求,你可能需要重写父类的一些属性和方法,比如绘图方法(如`draw()`)或事件处理函数(如`mouseClick()`),以便定制控件的行为和外观。 3. **样式和皮肤**:Flex支持皮肤和...

    flex自定义组件

    这是一个flex4的项目,可以下载下来单独运行,其中重写了组件createChildren、commitProperties、measure和updateDisplayList方法,基本描述了他们在组件生命周期中所起的作用,并且在项目中实现了属性的事件绑定,...

    flex/flash自定义组件(搜索栏)

    2. **自定义组件过程**: - **设计阶段**:`searchField.fla`是一个Flash Authoring工具的文件,用于设计组件的外观和交互。在这里,开发者可以使用图形工具绘制UI元素,添加动画,并定义组件的行为。 - **编译与...

    ActionScript的自定义组件及自定义事件例子

    自定义组件和事件在Flex应用程序中发挥着关键作用,使开发者能够构建高度定制的用户界面和交互逻辑。 总的来说,掌握ActionScript的自定义组件和自定义事件是提升Flash和Flex开发技能的重要一步。通过实践和研究...

    Flex自定义罗盘全副显示范围

    在提供的压缩包文件中,`Flex自定义罗盘全副显示范围.pdf`可能是关于这个话题的详细教程或技术文档,而`CompassSample`可能是一个示例代码或项目,展示如何实际实现上述步骤。通过阅读文档和研究示例代码,开发者...

    (十八)Flex4_自定义ActionScript组件

    2. **定义外观和布局**:在自定义组件中,你可以通过覆盖`drawRect()`、`updateDisplayList()`等方法来绘制组件的外观。同时,如果需要处理组件的大小和位置,可以重写`measure()`和`updateDisplayList()`方法来实现...

    Flex自定义控件

    Flex自定义控件是Adobe Flex框架中的一个重要特性,它允许开发者根据特定需求创建自己的用户界面元素,以扩展标准组件库的功能。在Flex中,我们可以通过继承现有的UIComponent类或者使用Spark或 Halo组件模型来实现...

    flex组件重写

    本文将探讨Flex组件重写的必要性、考虑因素、以及AS和MXML方式的选用规则,并提供AS方式重写组件的一般步骤。 一、为什么要重写组件 1. 扩展功能:当Flex已有的组件无法满足特定业务需求时,我们可以通过继承现有...

    Flex手机项目自定义List的ItemRenderer

    2. 在新类中,可以重写`createChildren()`方法,这是Flex生命周期的一部分,用于创建并添加子组件。 3. 在`createChildren()`中,可以使用`addChild()`或`addElement()`方法添加所需的组件,如Button或其他UI元素。 ...

    Flex视图切换,自定义控件Demo.rar

    自定义控件通常通过继承已有的UIComponent或者更具体的基类,如Button或Canvas,然后重写其draw()方法,或者添加额外的属性和方法来完成。自定义控件可以实现独特的布局、样式、行为,甚至可以包含其他组件,从而...

    flex 自定义dataGrid渲染器.根据数据变色

    自定义渲染器是Flex组件定制的一部分,它可以让我们对UI元素的显示方式有更大的控制力。在这个场景中,我们创建了一个针对DataGrid的自定义Label渲染器,这个渲染器能够根据数据显示不同的颜色,以突出关键信息或者...

    Flex重写搜索框

    Flex应用可以在多种平台和浏览器上运行,因此在设计自定义组件时,要考虑到不同环境的兼容性,确保在各种设备上都能正常工作。 综上所述,“Flex重写搜索框”是一个结合了Flex基础知识、组件自定义和UI设计的实例。...

    【完美翻译】Flex组件的生命周期

    Flex组件的生命周期是Adobe Flex框架中一个至关重要的概念,它涉及到...该文档可能还会涵盖一些高级话题,如自定义组件的生命周期管理和性能优化技巧。对于深入学习Flex组件生命周期,这份资料将是一份宝贵的参考资料。

    flex中给图片或任意组件着色的方法

    综上所述,Flex提供了多种方式来给图片或组件着色,包括使用颜色过滤器、自定义组件、样式表等。在`zhuose.mxml`文件中,你可以看到具体的应用实例,通过分析这个文件,可以更深入地理解这些方法的实现。在实际开发...

    Flex自定义Feature的style风格

    8. **代码示例**:在提供的文档“Flex自定义Feature的style风格.doc”中,应该包含具体的代码片段,展示如何创建和应用自定义Style。 通过以上知识点,开发者可以根据需求创建出各种独特且富有表现力的地图展示效果...

Global site tag (gtag.js) - Google Analytics