我有一个我希望设计的表格。具体来说,我想知道表单项标签的背景颜色。 (backgorundColor属性更改标签和输入背景颜色)
即
<mx:Form>
<mx:FormItem label="username:">
<mx:TextInput />
</mx:FormItem>
</mx:Form>
我想用'username:'制作标签有不同的背景颜色,但文本输入仍然是默认的背景颜色。
这可以使用FormItem吗?
答案 0 :(得分:2)
formitem有一个用于显示名为FormItemLabel的标签的对象,这个对象的目的是为了设置表单项的标签。
在flex 2中,您可以尝试更改样式:
FormItemLabel {
}
然而,我查看了flex 2 lang ref,看起来你似乎不能改变标签的背景颜色。 Click here for lang ref link
如果您使用flex 3,则更改FormItem标签的所需方法是通过formitems labelStyleName
FormItem {
labelStyleName: newStyle;
}
然而,我不再相信他们增加了改变标签本身背景颜色的能力。 Click here for lang ref link
如果需要,最佳行动选择是扩展formitem类,除非其他人有任何想法。
希望这会有所帮助......
答案 1 :(得分:0)
正如我所看到的问题“悬而未决”两年......我需要完全相同的功能 - 标签面的背景颜色不同。
我正在使用Flex3。我尝试了表格背景 - 改变了整个表格。然后尝试了FormItem - 如果你只有文本输入 - 它确实覆盖了背景,但是如果你有几个按钮,它们之间的间隙也是相同的颜色。然后你需要额外的HBox和另一个背景。而且标签背景和输入控件之间也没有差距。
我不想重写FormItem控件。
似乎我需要使用我的祖先样式:Grid而不是表单和GridItem而不是FormItem。然后你可以用任何颜色设置每个单元格的样式:O(
答案 2 :(得分:-1)
尝试使用flex样式资源管理器创建所需的样式:
我在样式资源管理器中使用了TextArea并格式化了背景颜色,该颜色给出了以下css输出:
TextArea {
backgroundColor: #0000ff;
}
您可以将其更改为以下内容以包含在样式表中:
.formLabel {
backgroundColor: #0000ff;
}
然后在FormItem标签中:
<FormItem label="Label" styleName="formLabel" />
有关Flex样式表的更多信息: Flex Style Sheets
这些示例将显示您可以在mxml Style标签中声明样式而不是外部样式表(如果您愿意)。