当我将组件设置为visible = false时,组件会隐藏,但是如何让它不占用空间(获取它所属的容器来调整大小?)
<mx:HBox width="100%" height="100%">
...
</mx:HBox>
<mx:HBox width="100%" id="boxAddComment" visible="false" >
<mx:TextArea id="txtComment"/>
<mx:Button label="Spara" click="addComment();"/>
</mx:HBox>
当boxAddComment可见= false时,我希望第一个HBox占据100%的高度。
答案 0 :(得分:32)
使用 includeInLayout 属性。 e.g。
<mx:HBox width="100%" height="100%">
...
</mx:HBox>
<mx:HBox width="100%" id="boxAddComment" visible="false" includeInLayout="false" >
<mx:TextArea id="txtComment"/>
<mx:Button label="Spara" click="addComment();"/>
</mx:HBox>
答案 1 :(得分:14)
使用includeInLayout ="true"
或"false"
将切换在该部分中呈现的项目流中所占用的空间。
重要说明:如果您在使用visible="false"
时未指定includeInLayout = "false"
,那么您通常会得到一些不受欢迎的内容(boxAddComment
})仍然可以在页面上看到,但id="boxAddComment"
下面的内容会在视觉上重叠。因此,一般来说,您可能希望“includeInLayout
”和“visible
”保持同步。
答案 2 :(得分:1)
Ross Henderson建议绑定includeInLayout与boxAddComment.visible在Flex 3.0中运行良好,但我发现它在Flex 3.6中不起作用(我看到自从Flex 3.3以来它实际上停止工作的帖子)。
只是fyi。