Как изменить макет по умолчанию mx: Form? - PullRequest
0 голосов
/ 15 марта 2011

Мне нужно горизонтальное расположение на моих формах, они выглядят так:

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

1 Ответ

2 голосов
/ 16 марта 2011

По умолчанию компонент Form всегда размещает своих дочерних элементов по вертикали. Если вам нужна горизонтальная компоновка, вам придется расширить класс Form. Попробуйте это:

HorizontalForm.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;
        }
    }
}
...