Flex 4:可以使用includeIn和excludeFrom属性进行转换吗?

时间:2011-02-08 09:10:36

标签: flex animation

可以将转换添加到使用includeInexcludeFrom来显示/隐藏元素的源代码吗?似乎元素被立即隐藏,不允许有足够的时间进行过渡。

在此documentation article中,使用了visibleincludeInLayout属性的方法,但这意味着我需要重写我宁愿避免使用的MXML代码。

2 个答案:

答案 0 :(得分:3)

是的,Flex 4过渡适用于各州。 我认为您需要仔细查看AddAction和RemoveAction标记。 有一个由Chet Haase制作的精彩介绍视频,名为“Flex 4 States and Transitions”。 试试google吧

答案 1 :(得分:3)

是的,这正是转换的一个用例(隐藏/显示元素与状态很好)。

采用以下示例:

    <s:Transition fromState="stateA" toState="stateB" autoReverse="true">
      <s:Sequence>
        <s:Fade targets="{[componentA]}"/>
        <s:Resize targets="{[componentB]}"/>
      </s:Sequence>
    </s:Transition>
    <s:Transition fromState="stateB" toState="stateA" autoReverse="true">
      <s:Sequence>
        <s:Resize targets="{[componentB]}"/>
        <s:AddAction target="{componentA}"/>
        <s:Fade targets="{[componentB]}"/>
      </s:Sequence>
    </s:Transition>

上面的示例中,componentA仅显示在stateB中,而componentB的大小调整为适应它。当从stateA转换到stateB(即componentA正在消失)时,componentA首先淡出然后调整外部容器的大小。当从stateB转换到stateA(即在componentB中添加componentA)时,首先调整componentB的大小,然后添加具有淡入效果的componentA(注意当实际添加componentA时需要指定序列中的确切点)。