我正在创建一个扩展Spark Button类的自定义按钮。我的按钮的皮肤类支持2种皮肤状态,“向上”和“向下”。
当我通过下拉等一些措施更改Button的皮肤状态时,自定义按钮正常工作。但是当我尝试使用皮肤状态初始化自定义按钮时,通过'currentState'指令,它会引发运行时错误
ArgumentError: Undefined state 'down'.
以下是我的自定义皮肤类的一部分
<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<!-- host component -->
<fx:Metadata>
[HostComponent("components.CustomButton")]
</fx:Metadata>
<s:states>
<s:State name="up" />
<s:State name="down" />
</s:states>
....
....
</s:Skin>
自定义Button类并不多,它只是扩展Button类加上一些[SkinState]和[SkinPart]指令。
以下是我想使用自定义按钮的方式
<comp:CustomButton skinClass="skins.CustomButtonSkin" currentState="down"/>
谢谢, 萨米特
答案 0 :(得分:0)
为我的自定义按钮创建了一个Style
属性,然后使用它从getCurrentSkinState
方法