Flex:在flex中隐藏组件时

Nie*_*sma 14 apache-flex actionscript-3

当我将组件设置为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>
Run Code Online (Sandbox Code Playgroud)

当boxAddComment可见= false时,我希望第一个HBox占据100%的高度.

mma*_*tax 32

使用includeInLayout属性.例如


<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>



小智 14

使用includeInLayout ="true""false"将切换在该部分中呈现的项目流中所占用的空间.

重要说明:如果您没有指定visible="false"何时使用,includeInLayout = "false"那么您通常会得到一些不受欢迎的东西,即您的item(boxAddComment)仍然在页面上可见,但下面的内容id="boxAddComment"会在视觉上重叠.所以,一般来说,你可能希望" includeInLayout"和" visible"同步.

  • 这可以是保持两个值同步的好方法:`<mx:HBox id ="boxAddComment"visible ="false"includeInLayout ="{boxAddComment.visible}">` (14认同)