2012-02-22 108 views
0

enter image description here我使用flex 4.6,我嘗試使用mx:grid組件在Air窗口上顯示組件。 我們的目標是調整某個組件並獲得較好的調整大小效果。 參見下面的代碼示例和屏幕截圖Mx網格 - 非常奇怪的佈局

<?xml version="1.0" encoding="utf-8"?> 
<s:BorderContainer xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark" 
        xmlns:mx="library://ns.adobe.com/flex/mx" 
        width="100%" verticalCenter="0" borderColor="#A8CB17"> 
    <fx:Declarations> 
     <!-- Placer ici les éléments non visuels (services et objets de valeur, par exemple). --> 
    </fx:Declarations> 
    <mx:Grid width="100%" 
      paddingBottom="5" paddingTop="5" paddingLeft="0" paddingRight="0" > 
     <mx:GridRow id="cdr1" verticalAlign="middle" width="100%" > 
      <mx:GridItem colSpan="2" width="100%" verticalAlign="middle" horizontalAlign="left"> 
       <s:Label text="Label" fontWeight="bold" width="100%" paddingTop="5" color="#333333"/> 
      </mx:GridItem> 
     </mx:GridRow> 
     <mx:GridRow id="cdr2" width="100%" borderVisible="true" dropShadowVisible="false" 
        verticalAlign="middle"> 
      <mx:GridItem width="100%" colSpan="1" horizontalAlign="right" verticalAlign="middle"> 
       <s:Label width="100%" horizontalCenter="0" text="Label1" textAlign="right"/> 
      </mx:GridItem> 
      <mx:GridItem colSpan="2" width="100%" verticalAlign="middle" horizontalAlign="left"> 
       <s:HGroup width="100%"> 
        <s:CheckBox id="cbMolC1" label="Cb I" width="33%"/> 
        <s:CheckBox id="cbMolC2" label="cb. II" width="33%"/> 
        <s:CheckBox id="cbMolC3" label="Cb III" width="33%"/> 
       </s:HGroup> 
      </mx:GridItem> 
      <mx:GridItem colSpan="4" width="100%" verticalAlign="middle" horizontalAlign="left"> 
       <s:TextInput id="tiClassMol" width="100%"/> 
      </mx:GridItem> 

     </mx:GridRow> 

     <mx:GridRow id="cdr3" verticalAlign="middle" width="100%" > 
      <mx:GridItem colSpan="1" width="100%" verticalAlign="middle" horizontalAlign="right"> 
       <s:Label width="100%" horizontalCenter="0" text="Label 2" textAlign="right"/> 
      </mx:GridItem> 
      <mx:GridItem colSpan="2" width="100%" verticalAlign="middle" horizontalAlign="right"> 
       <s:HGroup width="100%"> 
        <s:CheckBox id="cbMolC1" label="Cb I" width="33%"/> 
        <s:CheckBox id="cbMolC2" label="Cb II" width="33%"/> 
        <s:CheckBox id="cbMolC3" label="Cb III" width="33%"/> 
       </s:HGroup> 
      </mx:GridItem> 
      <mx:GridItem colSpan="4" width="100%" verticalAlign="middle" horizontalAlign="left"> 
       <s:TextInput id="tiClassMol" width="100%"/> 
      </mx:GridItem> 
     </mx:GridRow> 
    </mx:Grid> 
</s:BorderContainer> 

我的問題是,即使的TextInput是網格上的項目的地方誰COLSPAN = 4,此網格項的大小是相同的,所述第一網格項誰列跨度= 1。

所以,我覺得這很奇怪。

你能幫助我嗎?

謝謝

+0

請問您可以添加問題的屏幕截圖嗎? – LoremIpsum 2012-02-22 14:51:41

回答

0

爲什麼在使用Flex 4時使用mx:Grid?

如果你想要一個表單,我絕對推薦你使用Spark Form layout而不是Grid,這已經被棄用了。

+0

因爲我有一些非常複雜的形式。所以網格更容易做到這一點。 – Flex60460 2012-02-23 13:09:24

+0

相信我,事實並非如此。在Spark中表單要好得多,你可以根據需要更改佈局。 – 2012-02-23 17:33:00

+0

我嘗試,我認爲網格更好! – Flex60460 2012-02-23 22:36:34