2012-02-22 3 views
0

enter image description here Я работаю с flex 4.6, и я пытаюсь использовать компонент mx: grid для отображения компонента на своем воздушном окне. Цель состоит в том, чтобы выровнять некоторый компонент и иметь хороший эффект изменения размера. Смотрите ниже пример кода и скриншотMx grid - очень странный макет

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

ответ

0

Почему вы используете тх: Сетка, когда вы используете Flex 4 ?!

Если вы хотите получить форму, я определенно рекомендую вам использовать Spark Form layout вместо Grid, который устарел.

+0

Потому что у меня есть очень сложная форма. Так что сетка проще сделать это. – Flex60460

+0

Поверьте мне, это не так. Форма лучше в Spark, и вы можете изменить макет точно так, как хотите. –

+0

Я стараюсь, и я думаю, что сетка лучше! – Flex60460

Смежные вопросы