如何在flex中居中对齐hbox中的按钮?

时间:2009-10-07 05:44:54

标签: flex hbox center-align

我有一个VBox,里面有4个HBox。第二级HBox最初是隐藏的。单击标签“显示更多选项”时,将显示第二级HBox。 现在我将“第二级HBOx”占用的空间置空,“搜索”按钮位于空间下方。

我的第一个问题是,有没有办法找到搜索按钮,使得空间不存在,点击“显示更多选项”标签后,会出现“二级HBox”?

第二个问题是,我可以将搜索按钮放在页面的中心。是否有任何方法可以将VBox的HBox内容集中在一起?

这是我的代码:

<mx:Form x="47" y="219" width="80%" >


<mx:VBox id="searchBox" >
    <mx:HBox id="searchTitle"  width="100%" height="20" backgroundColor="#2680D5">
        <mx:Label text="Search Criteria" paddingRight="250" width="654.6212" height="18.030302"/>
         <mx:Label text="show more options" id="moreOption"  click="showOption(event)" width="127.045456" height="21.969696"/>

    </mx:HBox>

    <mx:HBox id="firstLevel" paddingBottom="10" paddingTop="15" >

        <mx:Label text="Task Name" paddingLeft="20"/>
        <mx:TextInput id="searchTaskName" paddingLeft="10" /> 

        <mx:Label text="Item Code"  paddingLeft="30"/>
        <mx:TextInput id="searchItemCode" paddingLeft="10"/>

        <mx:Label text="Task Type" paddingLeft="30"/>
        <mx:ComboBox id="searchTaskType" paddingLeft="10"/> 
    </mx:HBox>

    <mx:HBox id="secondLevel" visible="false" paddingTop="5">

        <mx:Label text="Task ID" paddingLeft="20" />
        <mx:TextInput id="searchTaskId" paddingLeft="10"/>



        <mx:Label text="Project Won" paddingLeft="30"/>
        <mx:ComboBox id="searchWon" paddingLeft="10"/>
    </mx:HBox>


    <mx:HBox>
        <mx:Button label="Search"  />
    </mx:HBox> 


</mx:VBox>

3 个答案:

答案 0 :(得分:10)

要将内容集中在HBox中,请将以下属性添加到相关框中,

horizontalAlign="center" width="100%"

至于由隐形框(HBox或VBox)创建的空白空间,我不知道是否有任何方法,但我发现自己将此属性添加到隐形框中,

height="{secondLevel.visible ? 200 : 0}"

希望有所帮助

答案 1 :(得分:1)

要真正隐藏组件,请将includeInLayout属性设置为可见的内容。 (或者当你改变可见时自己设置)默认情况下,它是真的,所以无论组件是否可见,都会测量出空间。

<mx:HBox id="secondLevel" visible="false" includeInLayout="{secondLevel.visible}" paddingTop="5">

答案 2 :(得分:0)

您可以使用flex states在需要时添加第二级hbox。