эффекты гибкого перехода работают на втором и последующем переходах, но не на самом первом переходе

У меня есть гибкое приложение, которое переключается между двумя состояниями с помощью кнопки. Моя проблема в том, что эффект затухания, кажется, работает только на втором переходе и после него. Однако для моего первого перехода ... перехода от State1 к studyState ... нет никакого эффекта затухания, на самом деле компоненты в state1 полностью исчезают (нижний колонтитул заполняет пустой промежуток там, где раньше находилось "тело"), а затем flex воссоздает studyState (без какого-либо затухания, заполняющего «тело» компонентами только в studyState).

Однако после этого первого перехода переход между 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>

person Rees    schedule 18.05.2010    source источник


Ответы (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>
person JeffryHouser    schedule 19.05.2010
comment
Привет, флекстры, на самом деле похоже, что ошибка возникла из-за использования настраиваемого тега SessionConnectContainer из инфраструктуры Life Cycle Collaboration Services (LCCS). как только я использовал безголовый контейнер, все работало отлично! Спасибо за помощь! - person Rees; 20.05.2010