2010-05-18 7 views
0

J'ai une application flexible qui transitions entre 2 états avec le bouton d'un bouton. mon problème est que l'effet de l'évanouissement ne semble fonctionner que sur la deuxième transition et après. Cependant, pour ma première transition ... allant de State1 à studyState ... il n'y a aucun effet de fondu, en fait les composants dans state1 disparaissent complètement (le footer remplit le vide vide où le "body" était) et ensuite le flex recrée le studyState (sans aucun fondu remplissant le "body" avec des composants seulement dans studyState). Après cette première transition, cependant, entre studyState et State1 fonctionnent COMPLÈTEMENT bien .. pourquoi cela se produit-il et comment puis-je faire en sorte que le crossfade fonctionne à partir de la toute première TRANSITION? aidez s'il vous plaît!effets de transition flex fonctionne sur la deuxième et après la transition, mais pas sur la première transition

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

Répondre

1

Qu'est-ce qui ne va pas dans la transition d'état? Pouvez-vous fournir un exemple de code complet?

Ce segment de code, essentiellement, fonctionne comme je l'aurais attendu:

<?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

hey flextras, il ressemble vraiment à l'erreur provenait de l'aide d'une étiquette SessionConnectContainer personnalisée à l'intérieur des services de collaboration du cycle de vie (LCCS) cadre. Une fois que j'ai utilisé un conteneur "sans tête", tout a bien fonctionné! Merci pour l'aide! – Rees