在TileLayout列上的Flex spark FormLayout

时间:2012-11-05 20:15:05

标签: actionscript-3 flex

我总是硬编码似乎很简单的事情......

这是情景:

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx">

    <s:Form>
        <s:layout>
            <s:TileLayout requestedColumnCount="2"
                          verticalAlign="middle" />
        </s:layout>
        <s:FormItem label="Label with long text">
            <s:TextInput />
        </s:FormItem>
        <s:FormItem label="Label with long text">
            <s:Label text="something" />
        </s:FormItem>
        <s:FormItem label="shortLabel">
            <s:TextInput />
        </s:FormItem>
        <s:FormItem label="shortLabel">
            <s:Label text="something" />
        </s:FormItem>
    </s:Form>
</s:Application>

是否有一种简单的方法可以为每个tile布局列提供FormLayout?

在表单布局中,FormItem容器上的所有第一项都是对齐的。

2 个答案:

答案 0 :(得分:0)

您已覆盖表单布局,这就是元素未正确对齐的原因。

据我所知,你需要多列形式。 Flex现在不支持此类功能。 可能的解决方案是 1.在容器中使用2个表格。在这种情况下,表格项目将对齐。 2.定义表单项大小。 3.编写您自己的新多列表单布局并共享它。

答案 1 :(得分:0)

Spark FormLayout扩展VerticalLayout,将其继承更改为customLayout类中的TileLayout(比如FormTileLayout),为我的项目工作。