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