2011-03-04 51 views
0

調整其大小,TitleWindow中的Flex狀態轉變我在Flex 4的基於標題窗口部件具有兩種狀態:& B.,通過動畫

標題窗口處於狀態B.更寬

我想當使用Resize效果切換狀態以擴展組件時,使用標題窗口進行動畫處理。

這樣做的正確方法是什麼?應該爲組件定義狀態特定的寬度還是應該運行一個轉換效果來執行此操作?第一個選項似乎對我來說比較乾淨,但我無法弄清楚如何告訴flex使用效果並自行計算出要調整組件的大小。

回答

0

Assaf,您可以使用補間,並行,移動並調整相同的屬性。

+0

是的,我知道。但我試圖瞭解如何在不明確調用效果的情況下做到這一點。我希望組件的大小由狀態特定的屬性決定,以便我可以在設計模式下編輯UI,當它具有每個狀態的正確大小時。 – 2011-03-04 13:08:56

0

我實現了類似於您的請求的東西:我需要在包含在TitleWindow組件中的兩個狀態之間添加過渡效果(調整大小效果)。這是我做的:

我的兩種狀態:

<s:states> 
    <s:State name="State1"/> 
    <s:State name="myInfoState"/> 
</s:states> 

我的過渡效果:

<s:transitions> 
    <s:Transition id="myTransition" fromState="*" toState="myInfoState"> 
     <s:Parallel target="{this}"> 
      <s:Resize duration="400"/> 
     </s:Parallel> 
    </s:Transition> 
</s:transitions> 

注意{this}財產。這是因爲我的TitleWindow沒有id

最後,你只需要一如既往地打電話給你的currentState聲明:

<s:Button click="currentState = 'myInfoState'"/> 

我猜測,關鍵字是{this},而不是元素的id

來自墨西哥帕丘卡的問候!