Flex转换针对所有元素

时间:2010-01-27 17:53:40

标签: flex

我希望在从任何状态转换时淡出下一个状态的所有元素。 我尝试了不同的东西,但我无法让它发挥作用。而且我不想为每个州手动添加转换。

类似的东西:

<s:Transition fromState="*" toState="*">
        <s:Fade target="*" duration="500" />
    </s:Transition>

2 个答案:

答案 0 :(得分:1)

嘿,mihaimetal。我自己也在努力解决这个问题之后才发现你的帖子。事实证明,执行此操作的最佳方法是不使用target属性,而是使用targets属性。这样,您可以传递可能更改的整个数组。我强调'可能',因为只有你传递给targets的数组中你在状态之间实际更改的项目才会受到影响。

您可以像这样更改示例代码:

<s:Transition fromState="*" toState="*">
    <s:Fade targets="{[hboxID_1, hboxID_2, hboxID_3]}" duration="500" />
</s:Transition>

希望这有帮助!

答案 1 :(得分:0)

同样的问题。

连接到州的一组屏幕,一次一个屏幕。我想要一个简单的淡入淡出而不是突然开启状态变化。

在目标中尝试过通配符:

target="*"
目标中的

targets="{['*']}"

并尝试删除目标/目标

纳达

这样可行,但我不想识别所有状态并跟踪目标列表。

以下是一个示例:

<s:states>
    <s:State name="default" stateGroups="sessionless"/>
    <s:State name="Welcome" stateGroups="session" />
    <s:State name="Settings" stateGroups="session" />
</s:states>
<s:Panel includeIn="sessionless">
    <comp:Login id="login" includeIn="Login" />
</s:Panel>
<s:Panel includeIn="session">
    <comp:Welcome id="welcome" includeIn="Welcome" />
    <comp:Settings id="settings" includeIn="Settings" />
</s:Panel>
<s:transitions><s:Transition id="fader" fromState="*" toState="*">
    <s:Fade duration="4000" targets="{[settings,login,welcome]}" />
</s:Transition></s:transitions>