水平MX表单或垂直Spark表单Flex

时间:2011-10-05 15:10:23

标签: user-interface flex layout flex4.5 flex-spark

我注意到spark和mx形式之间存在两个差异,这些差异导致了一些问题。默认情况下,mx表单排列在标签上方是表单输入项。在Spark中,它们彼此相邻排列。此外,spark形式的标签默认为粗体。

例如,MX代码可能是

<mx:Form width="100%">
    <mx:FormItem indicatorGap="0">
        <s:Label text="label1"/>
         <s:TextInput id="input1" width="180"/>
    </mx:FormItem>
</mx:Form>

对于Spark,它可能是

<s:Form>
    <s:layout>
        <s:FormLayout gap="-10" paddingLeft="-10" paddingRight="-10"/>
    </s:layout>
    <s:FormItem label="label1">
        <s:TextInput id="input1" width="180"/>
    </s:FormItem>
</s:Form>

现在我的问题是每个表单的外观。

火花形式的标签是粗体。理想情况下,我希望能够使用火花形式,并将其水平和垂直放置,而不是粗体标签。这可能吗?

这将删除我在我的应用程序中同时具有spark和mx表单。

或者可以将mx表格水平放置?

由于

这里的答案是一个垂直定位的火花形式的例子

<s:FormItem>
    <s:Label text="label1" fontWeight="bold"/>
    <s:TextInput id="input1" />
</s:FormItem>

1 个答案:

答案 0 :(得分:1)

首先,mx:FormItem如果您将其正确定义为FormItem属性,而不是作为其子代,则会以水平方式显示其标签。

<mx:FormItem label="Proper label">

现在问题的其余部分。 spark:FormItem标签的粗体定义为内联样式声明,因此除了为FormItem容器定义自己的外观之外,您无法做很多事情。这也是您实现其他要求的方式 - 标签贴纸。或者,您可以使用mx:FormItem执行您已经练习过的内容并将标签定义为孩子。 spark:FormItem的内容组使用VerticalLayout进行布局,因此它应该可以按照您的需要进行操作。

问候。