apache-flex - Flex 中的 UI 组件生命周期

标签 apache-flex actionscript-3

在 UI 组件生命周期中,我听到了验证和失效事件。

请简要解释一下这些事件。
updateDisplayList() 是什么意思方法在那个生命周期中做。

如果可能的话,请简短地解释一下。

先感谢您。

最佳答案

Flex 组件生命周期是一组 Flex 用来设置组件的方法和事件。在我们自己的扩展 UIComponent 类的组件中,我们可以监听这些事件或重写这些方法来执行特定于我们组件的操作。

我将添加 updateDisplayList() 是一种方法,而不是事件,以防万一他们有任何混淆。

这些是主要的可覆盖方法:

  • createChildren() : 这用于创建组件的子组件。
  • 提交属性() : 这是一种通配符方法。您可以使用它在一个地方协调多个属性更改。您使用它的目的取决于您正在创建的组件和属性。
  • 测量() :这用于根据子级设置组件的“理想”高度和宽度。您设置测量高度和测量宽度。
  • 更新显示列表() :这用于做任何与显示相关的事情,最常见的是定位和调整组件子项的大小。

  • 所有这些方法都将在初始组件创建期间运行。但是,这些方法中的三个——commitProperties()、measure() 和 updateDisplayList()——可以设置为在下一个渲染事件期间运行。要准备运行它们,只需使用适当的失效方法使它们失效:
  • invalidateProperties() 强制
    commitProperties() 重新运行。
  • invalidateSize() 强制 measure() 到
    重新运行。
  • invalidateDisplayList() 强制
    updateDisplayList() 重新运行。

  • 渲染事件触发的频率取决于您的应用程序的帧速率。我认为默认的 Flex 帧速率是每秒 24 帧,所以每 1/24 秒就有一个渲染事件。

    我将组件生命周期定义为方法和事件的集合。所以,这些是事件,按照它们触发的顺序:
  • 预初始化
  • 初始化
  • child 添加
  • 更新完成
  • 创作完成

  • 我相信,updateComplete 会在每个渲染器事件之后触发。但其他的是组件创建的一部分。

    You should read the Flex documentation on this

    The Spark Component Lifecycle添加不同的钩子(Hook)以适应两类方法;一类用于业务逻辑,一类用于皮肤。但是,它仍然扩展了 MX/Halo 组件的生命周期。

    关于apache-flex - Flex 中的 UI 组件生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6357543/

    相关文章:

    apache-flex - 如何捕获Flex中的所有异常?

    apache-flex - 将弹出窗口放置在主窗口的中间

    css - 如何在 Flex 3 中通过 CSS 引用嵌套组件?

    actionscript-3 - 在本地 Adob​​e Media Server 上播放视频

    actionscript-3 - 从Assets类外部初始化八哥的声音

    apache-flex - Actionscript 3/Flex 中的双冒号 ('::' ) 是什么意思?

    flash - 弹性 : Resetting prompt of a comboBox

    apache-flex - 在多次调用的函数中增加全局变量

    中间的 Flash 垂直文本对齐

    actionscript-3 - Away3D Stage3DProxy 绘制顺序