Apache flex 调整flex组件的高度,以填充舞台上的可用空间

Apache flex 调整flex组件的高度,以填充舞台上的可用空间,apache-flex,layout,mxml,Apache Flex,Layout,Mxml,我正在尝试使用mxml在flex中创建一个布局,该布局包含一个画布组件和一个框。布局应始终使方框位于应用程序的底部边缘,并具有固定的高度,而画布填充剩余的舞台区域,且不与方框重叠 我的MXML如下: <mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" layout="absolute" clipContent="false" verticalGap="0"> <m

我正在尝试使用mxml在flex中创建一个布局,该布局包含一个画布组件和一个框。布局应始终使方框位于应用程序的底部边缘,并具有固定的高度,而画布填充剩余的舞台区域,且不与方框重叠

我的MXML如下:

<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml"
width="100%" height="100%" layout="absolute" clipContent="false" verticalGap="0">
    <mx:Canvas width="100%" height="100%" />

    <mx:Box width="100%" height="30"></Box>
</mx:Module>

我尝试使用动态绑定来设置画布上的高度(height=“{this.stage.height-30}”),但结果不正确


有没有一种简单的方法可以在不使用Actionscript设置高度的情况下实现我所追求的目标?

我没有太多使用模块,但这很有效:

<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    layout="absolute" 
    width="100%"
    height="100%"
    >
        <mx:Canvas left="0" right="0" top="0" bottom="0" />
    <mx:HBox 
        width="100%"
        height="50"
        bottom="0"
        >
             ....
    </mx:HBox>
</mx:Application>

....
希望有帮助


<Module layout="vertical" xmlns="...">
  <Canvas width="100%" height="100%">
  <HBox width="100%" height="30"/>
</Module>
通过设置
layout=“vertical”
模块的工作方式或多或少类似于
VBox
Canvas
设置为100%垂直和水平填充,但会为
HBox
留出空间,因为它有明确的高度。

我可以使用

<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml"
width="100%" height="100%" layout="absolute" clipContent="false" verticalGap="0">
    <mx:Canvas bottom="30" left="0" right="0" top="0" />

    <mx:Box width="100%" height="30"></Box>
</mx:Module>


这解决了我的问题,因为画布会填满盒子的可用空间。将画布上的“底部”属性设置为0,将导致其展开超过框并填满整个舞台。

谢谢各位,不幸的是,这两个想法都不起作用。我认为这更多地与我的模块布局以及覆盖画布和方框类型有关,因为使用上面的示例,我能够创建一个成功运行的示例应用程序