2012-02-22 210 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