0

mx.controls 包中的“Button”类具有样式“paddingLeft”和“paddingRight”。但现在我不想再使用这个旧的 Halo 主题了,我正在将所有东西都转移到 Spark。

但是,我在 spark.components.Button 中找不到这些填充样式,并且文档http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/spark/components/Button.html没有表明 spark Button 具有这些样式。

有任何想法吗?

4

2 回答 2

3

你必须做一个特定的按钮皮肤继承默认的皮肤并在其中添加你的规则。

于 2012-03-27T14:00:24.640 回答
1

其实很简单。阅读这篇文章后,我对 flex 和(不做任何其他事情)很陌生:

http://inflagrantedelicto.memoryspiral.com/2010/01/skinning-a-spark-button-in-flex-4/

我在不到一分钟的时间内创建了一个带有自定义左右填充的火花按钮。感谢 Joseph Labrecque 的精彩博客!

在 Flash Builder 中,您只需右键单击要在其中创建新按钮外观的文件夹,然后选择 New MXML Skin。这将打开您在上面链接中描述的窗口。Package name 已经填写好了(如果你没有右键单击上面的正确文件夹,你可以更改它)。输入皮肤类的名称(例如CustomButton在博客中)。对于主机组件,选择浏览,然后选择Button-Spark Components。默认情况下应选中“create-a-copy-of”复选框。然后单击完成。

现在你所要做的就是打开文件(它应该在你创建后默认打开),然后修改第 8 层的标签部分。对我来说,它是第 219 行。更改left="10"为您想要的任何位置(例如,设置为 0 表示无填充)。类似的right="10"。您可以更改 textAlign,并在同一标签内引入paddingLeftorpaddingRight等​​。完成后保存文件。

然后在主文件中的 spark 按钮 mxml 引用中,只需将 a 添加skinclass="CustomButton"到代码行中。例如,改变这个:

<s:button label="myOldButton" ... />

对此:

<s:button label="myCustomButton" skinclass="CustomButton" ... /> 

就是这样!

于 2012-05-06T14:47:24.257 回答