скин кнопки не отображается с помощью addElement (); - PullRequest
0 голосов
/ 26 марта 2012

Я создал класс в actionscritpt, который расширяет spark.components.Button, так как я буду загружать несколько кнопок во время выполнения. У меня есть файл SkinnableContainer.mxml, в который будут загружены кнопки зажигания. Когда я использую метод addElement () в этом mxml-файле, например, мой пользовательский скин для моей кнопки не отображается.

//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 голосов
/ 27 марта 2012

Как сказал Шонхусейн, ваш метод ищет искрящую кнопку, а не пользовательскую кнопку, которая, как я полагаю, обрабатывает скиннинг.

Независимо от этого, внутри вашего метода вы можете применить свой скин к переданной кнопке, используя setStyle

public function displayButton(button:Button):void
{
  button.setStyle("skinClass", your.button.SkinClass);
  addElement(button);
}
...