定义组件调整大小的方向

时间:2012-11-05 15:15:26

标签: flex

我在Hgroup中有三个组件,所有三个组件都可以扩展。但问题是,所有三个组件都向正确的方向扩展。并且容器没有足够的空间来做到这一点,所以我需要的是

第一个扩展到右边

第二个向左右扩展

第三个向左扩展。

其他人将在这个过程中被推开。

像这样。

like this

但是如何定义组件的扩展方向呢?

组件的代码就像那样

<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
         xmlns:s="library://ns.adobe.com/flex/spark"
         xmlns:mx="library://ns.adobe.com/flex/mx"
         width.State2="500" height.State2="550"
         width.State1="330" height.State1="550">



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



    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>


    <mx:LinkButton includeIn="State1" x="222" y="519" label="Expand" click="currentState='State2'"/>
    <mx:LinkButton includeIn="State2" x="433" y="519" label="Return"
                   click="currentState='State1'"/>
</s:Group>

并且在主comp中,其中三个Comp将嵌套在HGroup

<s:HGroup  x="90" y="62" width="1000" height="550">
    <ns1:comp1>
    </ns1:comp1>
    <ns1:comp2>
    </ns1:comp2>
    <ns1:comp3>
    </ns1:comp3>
</s:HGroup>

1 个答案:

答案 0 :(得分:0)

最容易的方式就是各州。

<s:states>
    <s:State name="normal"/>
    <s:State name="1Expanded"/>
    <s:State name="2Expanded"/>
    <s:State name="3Expanded"/>
</s:states>

然后在你的组件中:

<ns1:comp1
    width="250"
    width.1Expanded="500"
    width.2Expanded="100"
    width.3Expanded="50">

你可以根据自己的需要进行调整,但这只是一个例子。