Flex 4过渡不是第一次播放

时间:2010-07-07 11:41:52

标签: flex flex4 transition

我第一次从状态A切换到B时,它没有进行转换。在第一次转换之后,相同的状态更改确实会发生转换。

在我让状态B加载之前,它会解析xml文件并将其映射到对象。完成后,状态会发生变化。也许它与解析xml有关。但我可以在更改状态之前确认已完成解析。

<s:Transition toState="B">
    <s:Sequence>
         <s:Move target="{menu}" duration="300" />
         <s:AddAction target="{newsPostsList}" />
         <s:Fade target="{newsPostsList}" />
    </s:Sequence>
</s:Transition>

6 个答案:

答案 0 :(得分:1)

您需要查看状态中包含的组件的creationPolicy。默认情况下,它是未实例化的。 creationPolicy =“all”可以添加到addChild元素,或者在我的情况下,添加到viewstack - 我在试图解决这个问题时失去了几个小时。现在一切顺利。

答案 1 :(得分:0)

尝试禁用XML解析以确保不是问题。您还可以明确指定转换的起始状态(状态“A”或状态“*”表示任何状态)。同时尝试为Move动作添加显式的x和y值,只是为了理智。可能是状态A和B之间的菜单组件的x和y位置没有不同。

答案 2 :(得分:0)

我有同样的问题。我在转换中使用“淡入淡出”和“交叉淡入淡出”,这些在第一次不起作用,但之后完美地工作。我恐怕我懒得把我的问题缩小到一个有效的例子 - 这太复杂了。但是,我在我的应用程序中有TabBar控制的ViewStack,状态转换包括他们的一些孩子的外观。在我的案例中没有XML解析,但是:)

我希望这与SDK-13933错误(http://bugs.adobe.com/jira/browse/SDK-13993)无关。

答案 3 :(得分:0)

原来我必须摆脱“includeIn = myState”并用“visible.myState = true”和“includeInLayout.myState = true”替换掉那些。它使每次转换运行。

答案 4 :(得分:0)

我找到了邪恶的来源:) 事实证明,在解析的数据可用于模型之前,我稍微解开了状态更改。

感谢大家帮助我解决这个问题。 我已经遇到了过去没有在第一次发射过程中出现问题的问题。您的答案将成为检查常见错误的资源。

答案 5 :(得分:0)

我发现我必须将代码includeIn="<my state>" itemCreationPolicy="immediate"放在要转换到的状态中的所有组件上。创建项目后,过渡工作顺利进行。

似乎VGroups没有将itemCreationPolicy设置传递给他们的孩子,因此有必要在所有元素上重复此代码。