我需要帮助在Flex中设置FormItem组件的样式

时间:2008-10-06 15:29:49

标签: flex

我有一个我希望设计的表格。具体来说,我想知道表单项标签的背景颜色。 (backgorundColor属性更改标签和输入背景颜色)


<mx:Form>
    <mx:FormItem label="username:">
        <mx:TextInput />
    </mx:FormItem>
</mx:Form>

我想用'username:'制作标签有不同的背景颜色,但文本输入仍然是默认的背景颜色。

这可以使用FormItem吗?

3 个答案:

答案 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标签中声明样式而不是外部样式表(如果您愿意)。