Apache flex 如何创建包含其他状态的状态

Apache flex 如何创建包含其他状态的状态,apache-flex,flex4,Apache Flex,Flex4,我有一个移动应用程序,其中我有3个州。这里有默认的纵向和横向,我想添加第三种状态,包括其他两种 <s:states> <s:State name="portrait"/> <s:State name="landscape"/> <s:State name="panel" stateGroups="portrait, landscape"/> </s:states> 顺便说一句,我一直在试图理解国家集团,但我认为

我有一个移动应用程序,其中我有3个州。这里有默认的纵向和横向,我想添加第三种状态,包括其他两种

<s:states>
    <s:State name="portrait"/>
    <s:State name="landscape"/>
    <s:State name="panel" stateGroups="portrait, landscape"/>
</s:states>
顺便说一句,我一直在试图理解国家集团,但我认为我没有理解它

更新
这里有更多的上下文。我有一个名为“appMenu”的容器,我想在用户按下菜单键时使其可见。所以我想为它创建一个状态。现在只有一个值会改变,那就是“y”属性。由于这是一个移动应用程序,设备将处于纵向或横向模式(状态)。我不想让用户脱离这些状态,只将这个新属性应用于他们所处的任何状态

<s:BorderContainer id="appMenu"
                   borderVisible="false"
                   width="100%" 
                   height="120" 
                   y="-120"  
                   y.panelVisible="0" 
                   backgroundColor="0"
                   >
    <s:HGroup right="10" verticalCenter="0">
        <s:Label text="Feedback" 
                 color="#ffffff" 
                 fontSize="18" 
                 fontWeight="bold"/>
    </s:HGroup>
</s:BorderContainer>

您的问题有两种可能的答案

如果“面板”状态只包含其他两个状态中的内容,那么您只需要以下内容:

<s:states>
    <s:State name="portrait" stateGroups="panel" />
    <s:State name="landscape" stateGroups="panel" />
    <s:State name="someOtherState" />
</s:states>

另一方面,如果“panel”状态中还包含其他内容,那么它可能看起来更像这样:

<s:states>
    <s:State name="portrait" stateGroups="panel" />
    <s:State name="landscape" stateGroups="panel" />
    <s:State name="justThePanel" stateGroups="panel" />
    <s:State name="someOtherState" />
</s:states>

如果你现在有

<s:Group id="a" includeIn="portrait" />
<s:Group id="b" includeIn="landscape" />
<s:Group id="c" includeIn="someOtherState" />
<s:Group id="d" includeIn="panel" />
<s:Group id="e" />

然后

  • 始终显示e
  • a仅在“纵向”状态下显示
  • b仅在“横向”状态下显示
  • c仅在“someOtherState”状态下显示
  • d以“纵向”、“横向”和“仅面板”状态显示(因为这三种状态都是“面板”状态组的成员)

谢谢,我添加了更多的上下文,同时我将尝试应用您的建议。@1.21gigawatts我认为我不太理解您的更新。我认为面板状态实际上是一种覆盖状态。有两种状态“纵向”和“横向”“设备启动,框架响应。我想能够显示一个面板,无论是纵向还是横向,我都不在乎。我认为将当前状态设置为“panel”将应用y.panel=“0”属性值。
<s:Group id="a" includeIn="portrait" />
<s:Group id="b" includeIn="landscape" />
<s:Group id="c" includeIn="someOtherState" />
<s:Group id="d" includeIn="panel" />
<s:Group id="e" />