1

我希望我的应用程序UIComponent在舞台上显示每个残疾人,并在其上显示一定数量的 alpha。

我相信默认值是 0.5,这使得某些字段非常不可读。将其减少到 .3 应该可以解决我的问题。

  • 对于Spark组件,我知道我可以创建自定义皮肤并编辑alpha.disabled. 但我不想仅仅为了 alpha 样式属性而对 30 多个组件执行此操作

  • 设置disabledOverlayAlpha仅适用于容器,我需要一些实际适用于显示层次结构最低级别的组件的东西。如果我没记错的话,这仅适用于mx组件。

为了使所有人UIComponents在禁用它们时显示相同数量的 alpha,实用的方法是什么?

干杯

4

1 回答 1

1

不是最漂亮的解决方案,但它是我能想到的唯一可以满足您对任何UIComponent 的要求:

  • 在舞台上收听 Event.ADDED,这样您就可以捕捉到添加到 displayList 的每个组件。
  • 开始监听事件的“enabledChanged” target(这是刚刚添加的组件)。enabledUIComponent 在其属性更改时调度“enabledChanged” 。
  • 设置alpha触发此事件的组件的。
  • 当组件从舞台上移除时,不要忘记清理那些事件监听器,否则你会遇到严重的性能问题。
  • 对于 Spark 组件,您可能必须以某种方式覆盖皮肤的默认禁用 alpha 值。这可能需要监听皮肤的 StateChangeEvent.CURRENT_STATE_CHANGE。

呸!我希望我忽略了一个更简单的选择。否则我可能只是去创建所有的 Spark 皮肤,也许为禁用的 alpha 值添加一个额外的样式,以便您将来可以全局设置它。

于 2013-01-31T17:46:23.063 回答