2010-05-18 58 views
0

我有一個靈活的應用程序,通過切換按鈕在2個狀態之間轉換。我的問題是衰落的效果似乎只適用於第二次過渡和之後。然而,對於我的第一次過渡......從狀態1到學習狀態......不存在任何淡入淡出效果,實際上狀態1中的組件完全消失(腳註填充「身體」所用的空白間隙),然後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> 

回答

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> 
+0

哎flextras,它實際上看起來像錯誤是使用自定義的SessionConnectContainer標籤從生命週期協作服務中來(LCCS)框架。一旦我使用「無頭」容器,一切都很順利!謝謝您的幫助! – Rees 2010-05-20 00:49:32