我在actionscritpt中创建了一个扩展spark.components.Button的类,因为我将在运行时加载一堆按钮。我有一个SkinnableContainer.mxml文件,将加载spark按钮。当我在该mxml文件中使用addElement()方法时,我的按钮的自定义皮肤不显示。
//in the SkinnableContainer.mxml file
public function displayButton(button:Button):void
{
addElement(button);
}
但是,如果在同一个SkinnableContainer.mxml文件中,我将其放入
<mybuttons:CustomButton x="73" y="4"/>
皮肤表现得很好。
我想也许是因为在调用loadStyleDeclarations之后添加了按钮,这可能是问题,所以我调用了
styleManager.loadStyleDeclarations(skin, true, true, ApplicationDomain.currentDomain);
我添加了按钮元素后,按钮仍然没有皮肤。
有什么想法吗?
答案 0 :(得分:0)
正如shaunhusain所说,你的方法是寻找一个火花按钮而不是我认为处理皮肤的CustomButton。
无论如何,在您的方法中,您可以使用setStyle
将皮肤应用于传递的按钮public function displayButton(button:Button):void
{
button.setStyle("skinClass", your.button.SkinClass);
addElement(button);
}