如何更改spark.components.Button的paddingLeft和paddingRight?

时间:2012-03-27 13:36:27

标签: flex styles padding flex-spark halo

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具有这些样式。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

实际上非常简单。在阅读这篇文章后,我很擅长弹性和(没有做任何其他事情):

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

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

您在Flash Builder中所要做的就是右键单击要在其中创建新按钮外观的文件夹,然后选择“新建MXML外观”。这将打开您在上面链接中描述的窗口。包名称已经填写(如果您没有右键单击上面的右侧文件夹,则可以更改它)。为皮肤类输入名称(例如,博客中的CustomButton)。对于Host Component,选择Browse,然后选择Button-Spark Components。默认情况下应选中“create-a-copy-of”复选框。然后单击“完成”。

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

然后在主文件中的spark按钮mxml引用中,只需在代码行中添加skinclass="CustomButton"即可。例如,更改此:

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

到此:

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

就是这样!