2009-06-26 21 views
3

我試圖在flex中使用mxml創建佈局,佈局包含Canvas組件和Box。佈局應始終保持Box位於應用程序的底部邊緣並具有固定高度,而Canvas填充剩餘的舞臺區域並且不與Box重疊。大小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> 

我已經使用動態綁定設置在畫布(高度=「{this.stage.height - 30}」)的高度嘗試,但它產生錯誤的結果。

有沒有一種簡單的方法來實現我以後沒有使用Actionscript設置高度?

+0

謝謝你們,不幸的是,這兩個想法都沒有奏效。我認爲它更多的是與我的模塊的佈局以及重寫的Canvas和Box類型,因爲使用上面的例子我能夠創建一個成功運行的示例應用程序 – sixones 2009-06-29 10:24:19

回答

1

我還沒有使用的模塊很多,但這個工程:

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

希望幫助!

2
<Module layout="vertical" xmlns="..."> 
    <Canvas width="100%" height="100%"> 
    <HBox width="100%" height="30"/> 
</Module> 

通過設置layout="vertical"Module將工作或多或少像VBoxCanvas設置爲垂直和水平填充100%,但空間將留給HBox,因爲它具有明確的高度。

0

我能夠使用;

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

這解決了我的問題,因爲Canvas會填充可用空間到Box。在畫布上將底部屬性設置爲0,將導致它擴展到Box並填充整個舞臺。

相關問題