Flex Forms:使标签排成一行,右对齐

时间:2010-11-02 20:16:48

标签: flex forms layout labels right-justified

我认为这是默认行为(所有Adobe文档似乎都表明情况属实)。 假设你有一个表格: 姓名:[ _ __ _ __ ] 密码:[ _ __ _ ____ ]

通常您希望名称和密码在其右侧排列(右对齐)。长度应该是最长标签的长度。

当我将以下代码添加到我的MXML(在Flex 4中创作)时,它根本不会这样做!但是,相反于上面的名称/密码示例,所有内容都是左对齐的。

解决方案是什么?

<s:Form id="directoryForm_A" width="100%">                      
    <s:layout>
        <s:VerticalLayout horizontalAlign="justify"/>
    </s:layout>
    <s:FormItem label="Click">
        <s:Button label="Button"/>
    </s:FormItem>
    <s:FormItem label="Root Directory">
        <s:TextInput x="0" width="100%" enter="handleUserSetRootDirectory(event)"/>
    </s:FormItem>
</s:Form>

2 个答案:

答案 0 :(得分:2)

您正在阅读哪些Adobe文档?您意识到Spark Form将与Halo / MX Form非常不同。我还怀疑Spark表单还没有工作。

以下是Spark Form上的文档。

我认为您将从阅读FormItemLayout details的布局规则部分中受益。我找不到声称所有标签都正确对齐的文档。

答案 1 :(得分:0)

对于那些希望获得测试版解决方案的人来说,Peter deHaan在这里发布了这个确切的主题:http://blog.flexexamples.com/2010/08/28/setting-the-text-alignment-on-a-spark-formitem-label-in-flex-hero/

请注意,因为他的例子没有直接转换到我的问题:

  • 添加到某些原因会禁用渲染器计算maxLabelWidth的能力

希望将来能帮助其他人。