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具有这些样式。
有什么想法吗?
答案 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,并在同一标签内引入paddingLeft
或paddingRight
等。完成后保存文件。
然后在主文件中的spark按钮mxml引用中,只需在代码行中添加skinclass="CustomButton"
即可。例如,更改此:
<s:button label="myOldButton" ... />
到此:
<s:button label="myCustomButton" skinclass="CustomButton" ... />
就是这样!