Во Flex 4 изменение состояния не изменяется в обоих направлениях - PullRequest
1 голос
/ 28 марта 2011

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

Вот мой код:

<?xml version="1.0" encoding="utf-8"?>
<s:VGroup xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx">

  <fx:Script>
    <![CDATA[
      protected function butA_changeHandler(e:Event):void
      {       
        if ((e.target as ToggleButton).selected) {
          this.currentState="A";
        } else {
          this.currentState="off";
        }
      }
    ]]>
  </fx:Script>

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

  <s:transitions>
    <s:Transition fromState="off" toState="A" autoReverse="true">
      <s:Parallel duration="300">
        <s:Resize target="{content}" heightTo="{cA.height}" />
        <s:Fade targets="{cA}"/>
      </s:Parallel>
    </s:Transition>
    <s:Transition fromState="A" toState="off" autoReverse="true">
      <s:Parallel duration="300">
        <s:Resize target="{content}" heightTo="0" />
        <s:Fade targets="{cA}"/>
      </s:Parallel>
    </s:Transition>
  </s:transitions>

  <s:Group id="content" excludeFrom="off" width="100%" clipAndEnableScrolling="true">   
    <s:Group id="cA" includeIn="A" width="100%"><s:Label fontSize="70" text="A"/></s:Group>
  </s:Group>

  <s:HGroup>
    <s:ToggleButton id="butA" label="A" change="butA_changeHandler(event)"/>
  </s:HGroup>

</s:VGroup>

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

Ответы [ 2 ]

3 голосов
/ 28 марта 2011

Вы должны использовать как AddAction, так и RemoveAction, поскольку свойства includeIn и excludeFrom обрабатываются до переходов:.

* Примечание. Использование includeIn = "A" означает, что вы также подразумеваете, что у conent будет свойство excludeFrom = "OFF".Это означает, что вы не сможете смешивать Add / RemoveAction и includeIn / excludeFrom (один для добавления представлений, а другой для их удаления).

1 голос
/ 28 марта 2011

autoreverse, установленный в true, должен быть избыточным при вашем втором переходе. Это уже определяет A для выключения. Просто добавьте heightFrom в первый переход.

...