我有一个相当简单的Flex布局问题。
有没有让FormItem包含在一个嵌套容器中,以跟随父表单容器中FormItem的对齐?
例如:
<mx:Form>
<mx:FormItem label="This is a long label" id="formItem1">
<mx:HBox>
<mx:TextInput />
</mx:HBox>
</mx:FormItem>
<s:BorderContainer>
<mx:FormItem label="ShrtLbl" id="formItem2">
<mx:HBox>
<mx:TextInput />
</mx:HBox>
</mx:FormItem>
</s:BorderContainer>
</mx:Form>
在这种情况下,我希望formItem1和formItem2的标签具有相同的宽度,如果定义如下:
<mx:Form>
<mx:FormItem label="This is a long label" id="formItem1">
<mx:HBox>
<mx:TextInput />
</mx:HBox>
</mx:FormItem>
<mx:FormItem label="ShrtLbl" id="formItem2">
<mx:HBox>
<mx:TextInput />
</mx:HBox>
</mx:FormItem>
</mx:Form>
有什么想法吗?
答案 0 :(得分:0)
Spark Form Skin使用spark.layouts.FormLayout来控制其子项的布局。
来自FormLayout来源:
FormLayout类定义Spark Form外观的默认布局。 FormLayout为Form中的子FormItem容器提供垂直布局。
如果任何子容器使用FormItemLayout,FormLayout将使用 对齐每个孩子的ConstraintColumns。
因此,布局不会查看表单的任何嵌套子项。
我建议您创建自己的自定义表单布局来处理您的情况。
oops,我看到你使用的是mx:FormItem而不是s:FormItem。我建议使用spark变种。
此外,FormItem中不需要mx:HBox(或s:HGroup)。