簡體   English   中英

Flex 4新州格式

[英]Flex 4 new States format

有人可以解釋一下從Flex 3遷移到Flex 4時Flex 4中的新狀態如何工作,我在狀態代碼中遇到錯誤:

<s:states>

        <s:State name="login"/>
        <mx:RemoveChild target="{viewStack}" />
        <mx:RemoveChild target="{header}" />
        <mx:RemoveChild target="{footer}" />
        <mx:SetStyle target="{login}" name="verticalAlign" value="middle" />

        <s:State name="menu"/>
        <mx:RemoveChild target="{login}" />
        <mx:AddChild relativeTo="{null}" >
            <search:Drawer title="{resourceManager.getString('locale','mySearch')}" 
                           dockSide="left" 
                           backgroundAlpha="0.9" 
                           backgroundColor="#ccccff">
                <search:SearchContent />
            </search:Drawer>
        </mx:AddChild>

    </s:states>

如果您需要“目標”代碼,請在這里告訴。

您顯示的代碼太短了,無法為您提供確切的代碼,但是它看起來應該像這樣:

<s:states>
    <s:State name="login"/>
    <s:State name="menu"/>
</s:states>

<mx:ViewStack id="viewStack" excludFrom="login" 
              paddingTop="15" width="100%" height="100%"/>

<s:HGroup id="header" excludeFrom="login" width="100%"/>
<s:HGroup id="footer" excludeFrom="login" width="100%" verticalAlign="bottom"/>

<mx:Box id="login" includeIn="login" width="100%" height="100%"
        horizontalAlign="center" verticalAlign="middle"/>

<search:Drawer includeIn="menu" ... />

基本上,您使用includeInexcludeFrom特殊屬性,而不是舊的RemoveChildAddChild標記。 請注意,由於只有兩種狀態,所以includeIn="menu"excludeFrom="login"具有完全相同的效果。
還可以根據當前狀態設置屬性,例如:

<v:MyComp left.login="0" left.menu="25"/>

視圖狀態標簽應僅包含如下狀態:

    <s:states> 
        <s:State name="State1"/> 
        <s:State name="State2"/> 
        <s:State name="State3"/> 
    </s:states> 

然后,使用點(。)運算符為組件定義狀態特定的屬性值:

propertyName.stateName

例如:

<s:Button label="Play" label.State2="Stop" label.State3="Paused"/>

您可以在Adobe幫助頁面上了解有關Flex 4.6的狀態的更多信息。 創建和應用視圖狀態

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM