按钮皮肤没有显示addElement();

时间:2012-03-26 15:17:03

标签: actionscript-3 flex4 flash-cs5

我在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); 

我添加了按钮元素后,按钮仍然没有皮肤。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

正如shaunhusain所说,你的方法是寻找一个火花按钮而不是我认为处理皮肤的CustomButton。

无论如何,在您的方法中,您可以使用setStyle

将皮肤应用于传递的按钮
public function displayButton(button:Button):void
{
  button.setStyle("skinClass", your.button.SkinClass);
  addElement(button);
}