Во Flex 4 размер перехода состояния не изменяется в обоих направлениях (v2)

У меня уже был еще один вопрос по этому вопросу. который был успешно решен. Но теперь, с немного другим примером, я снова застрял.

У меня два состояния. Когда я переключаюсь с A на B, размер изменяется правильно, но когда я переключаюсь с B обратно на A, это происходит без плавного изменения размера. Что я делаю неправильно?

Вот мой код:

      <fx:Script>
        <![CDATA[
          protected function rollOverHandler(event:MouseEvent):void
          {
            this.currentState = "AB";
          }

          protected function rollOutHandler(event:MouseEvent):void
          {
            this.currentState = "A";
          }

        ]]>
      </fx:Script>

      <fx:Declarations>
      </fx:Declarations>

      <s:states>
        <s:State name="A" />
        <s:State name="AB" />
      </s:states>

      <s:transitions>

        <s:Transition fromState="A" toState="AB" autoReverse="true">
          <s:Parallel>
            <s:AddAction target="{controls}"/>      
            <s:Resize duration="500" target="{controls}" heightFrom="0"  />
          </s:Parallel>
        </s:Transition>

        <s:Transition fromState="AB" toState="A" autoReverse="true">
          <s:Parallel>
            <s:Resize duration="500" target="{controls}" heightTo="0" />
            <s:RemoveAction target="{controls}"/>
          </s:Parallel>
        </s:Transition>

      </s:transitions>

      <s:BorderContainer width="300" 
                         backgroundColor="#eeeeee" 
                         borderVisible="false"
                         minHeight="0">
        <s:layout>
          <s:VerticalLayout gap="0"/>
        </s:layout>
        <s:VGroup id="data">
          <s:Label text="A" fontSize="40" />  
        </s:VGroup>
        <s:VGroup id="controls" 
                  clipAndEnableScrolling="true" 
                  itemCreationPolicy="immediate"
                  includeIn="AB">
          <s:Label text="B" fontSize="40" />  
        </s:VGroup>
      </s:BorderContainer>

    </s:HGroup>

Заранее спасибо, Нуно


person nununo    schedule 05.04.2011    source источник


Ответы (1)


Вам нужно использовать Sequence вместо Parallel.

person Kevin Gallahan    schedule 05.04.2011
comment
О боже! Как глупо с моей стороны. Извините за такую ​​глупую ошибку и спасибо за вашу помощь и терпение :) - person nununo; 05.04.2011
comment
Я просто хотел добавить, что в моем случае проблема заключалась в том, что я не указывал autoReverse в объявлениях перехода. - person tomswift; 14.09.2011