10

我有一个 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>

4

3 回答 3

10

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

horizontalAlign="center" width="100%"

至于隐形框(HBox或VBox)创建的空白空间,我不知道有没有办法,但我发现自己在隐形框上添加了这个属性,

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

希望有帮助

于 2009-10-07T05:59:29.623 回答
1

要真正隐藏组件,请将 includeInLayout 属性设置为可见的任何内容。(或者更改可见时自己设置)默认情况下为true,因此无论组件是否可见,都会测量空间。

<mx:HBox id="secondLevel" visible="false" includeInLayout="{secondLevel.visible}" paddingTop="5">
于 2009-10-08T05:07:43.507 回答
0

您可以在需要时使用弹性状态添加第二级 hbox。

于 2009-10-07T06:17:00.620 回答