如何在Flex中更改HBox的大小以适合其容器?

时间:2010-07-28 21:14:32

标签: flex actionscript-3 button mxml hbox

我创建了一个HBox,用一个按钮网格填充它,并设置滚动策略。当我调整窗口大小时,舞台会改变大小,HBox也会改变大小。一旦它达到它所包含的网格的高度,它就会停止收缩,就像它具有“最小高度”一样。这破坏了我在这种情况下试图建立的滚动条。

我已将高度设置为100%,不应该总是占据舞台的高度,它的父级?

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application 
xmlns:mx="http://www.adobe.com/2006/mxml"
initialize="init();" horizontalScrollPolicy="off" verticalScrollPolicy="off" width="100%"> 

<mx:Script>
    <![CDATA[
        import mx.controls.Button;
        import mx.containers.Grid;
        import mx.containers.GridRow;
        import mx.containers.GridItem;

        protected function init():void {    
            for (var i:int = 0; i < 3; i++) {
                var gRow:GridRow = new GridRow();
                gRow.percentWidth = 100;
                gRow.height = 100;
                var gItem:GridItem = new GridItem();
                gItem.percentWidth = 100;
                var btn:Button = new Button();
                btn.label = "BUTTON";
                btn.percentWidth = 100;
                btn.percentHeight = 100;
                gItem.addChild(btn);
                gRow.addChild(gItem);
                mainGrid.addChild(gRow);
            }       
        }         
  ]]>
</mx:Script>

<mx:HBox width="100%" height="100%" horizontalScrollPolicy="off" verticalScrollPolicy="on" id="main" clipContent = "true">
    <mx:Grid id="mainGrid" width="100%" height="100%" />
</mx:HBox>
</mx:Application>

2 个答案:

答案 0 :(得分:3)

所以看起来我设法在我的问题中提到了最终的答案。它是"minHeight"属性的人,看起来像是设置为包含的网格高度,并且不会缩小。将它设置为0,你的好处。

我希望我自己拥有的这个对话可以帮助某人 else 。 :)

答案 1 :(得分:0)

你可以试着给它Box的高度,如height =“{hb.height}”,hb as id