我有一个flex应用程序,可以通过按钮切换在2个状态之间切换。我的问题是,衰落的影响似乎只适用于第二次过渡和之后。但是,对于我的第一次转换...从State1转到studyState ......没有任何淡入淡出效果,实际上state1中的组件完全消失(页脚填充“body”所用的空隙)然后flex重新创建studyState(没有任何淡入淡出,仅在studyState中使用组件重新填充“body”)。
在第一次转换之后,在studyState和State1之间进行完全正常工作...为什么会发生这种情况,我怎样才能使交叉淡入淡出工作从最初的转变开始?请帮忙!
<s:transitions>
<s:Transition id="t1" autoReverse="true">
<s:CrossFade
target="{holder}"
duration="1500" />
</s:Transition>
</s:transitions>
<s:states>
<s:State name="State1" />
<s:State name="studyState" />
</s:states>
<s:VGroup id="globalGroup" includeIn="State1" width="100%">stuff</Vgroup>
<s:VGroup id="studyGroup" includeIn="studyState" width="100%">stuff</Vgroup>
答案 0 :(得分:1)
州过渡有什么问题?你能提供完整的代码示例吗?
这段代码基本上按照我的预期运作:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<s:transitions>
<s:Transition id="t1" autoReverse="true">
<s:CrossFade
target="{this}"
duration="1500" />
</s:Transition>
</s:transitions>
<s:states>
<s:State name="State1" />
<s:State name="studyState" />
</s:states>
<s:VGroup id="globalGroup" includeIn="State1" width="100%">
<s:Button label="State1 to studyState" click="this.currentState = 'studyState'" />
</s:VGroup>
<s:VGroup id="studyGroup" includeIn="studyState" width="100%">
<s:Button label="studyState to State1" click="this.currentState = 'State1'" />
</s:VGroup>
</s:Application>