2011-03-15 79 views
0

我需要我的形式的橫向佈局,它們看起來就像這樣:如何更改默認的mx:表單佈局?

<mx:Form id="myForm" width="100%"> 
    <mx:FormItem label="Color"> 
     <s:ComboBox id="color"> 
      <s:dataProvider> 
       <mx:ArrayList> 
        <fx:String>Red</fx:String> 
        <fx:String>Orange</fx:String> 
        <fx:String>Yellow</fx:String> 
        <fx:String>Blue</fx:String> 
        <fx:String>Green</fx:String> 
       </mx:ArrayList> 
      </s:dataProvider> 
     </s:ComboBox> 
    </mx:FormItem> 
</mx:Form> 

我對新的Flex 4架構很迷茫......

+0

這看起來好像沒什麼問題。什麼不工作,或者你沒有準確得到什麼? – 2011-03-15 18:22:22

+0

默認的表單佈局是垂直的,我不想在mx:Form中使用s:HGroup,因爲據我所知mx:Form是一個容器,所以我應該將其佈局設置正確嗎? – coma 2011-03-16 09:34:27

回答

2

默認情況下,Form組件將始終佈局其子女垂直。如果您想要改爲水平佈局,則必須擴展Form類。試試這個:

Horizo​​ntalForm.as

package 
{ 
    import mx.containers.BoxDirection; 
    import mx.containers.Form; 
    import mx.core.mx_internal; 

    public class HorizontalForm extends Form 
    { 
     public function HorizontalForm() 
     { 
      super(); 
      mx_internal::layoutObject.direction = BoxDirection.HORIZONTAL; 
     } 
    } 
}