不同的图标为相同的按钮皮肤flex

时间:2012-02-09 17:05:52

标签: flex button icons skin

我的按钮上面有皮肤:

<?xml version="1.0" encoding="utf-8"?><s:SparkSkin 
xmlns:fx="http://ns.adobe.com/mxml/2009" 
xmlns:s="library://ns.adobe.com/flex/spark" 
xmlns:mx="library://ns.adobe.com/flex/halo"
>
<!-- host component -->
<fx:Metadata>
    <![CDATA[
    [HostComponent("spark.components.Button")]
    ]]>
</fx:Metadata>  

<!-- states -->
<s:states>
    <s:State name="up" />
    <s:State name="over" stateGroups="overStates"/>
    <s:State name="down" stateGroups="overStates" />
    <s:State name="disabled" />
</s:states>

.....
 </s:SparkSkin>

我想知道如何为具有相同皮肤的不同按钮添加不同的图像。

2 个答案:

答案 0 :(得分:1)

两个步骤:

  1. 让您的自定义皮肤扩展SparkButtonSkin而不是简单 SparkSkin。
  2. 设置按钮的icon样式

  3.  <s:Button icon="@Embed('/path/to/my-icon.png')" 
               skinClass="path.to.MyButtonSkin" />
    

答案 1 :(得分:0)

您可以设置图像的路径(完整路径或相对于您所在的路径)

<s:Button label="Spark Button with dynamic icon" icon="assets/asterisk_orange.png" />

或嵌入图片

<s:Button label="Spark Button with inline embedded icon" icon="@Embed('assets/asterisk_orange.png')" />