2012-03-26 13 views
0

spark.components.Buttonを拡張するクラスをactionscritptで作成しました。実行時にたくさんのボタンをロードします。 Sparkボタンが読み込まれるSkinnableContainer.mxmlファイルがあります。そのmxmlファイル内でaddElement()メソッドを使用すると、私のカスタムスキンがボタンのように表示されません。ボタンのスキンが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

を使用して渡さボタンに、お肌を適用することができ、あなたは確かCustomButtonですそれに渡されている?表示ツリーに要素を追加した後にスタイル宣言をリロードする必要はなく、スタイルが登録され、コンポーネントがスタイルの使用法を実装している限り適用する必要があります。 – shaunhusain

+0

ありがとう、私はそのショットを与える – user1210003

答えて

0

あなたのメソッドはスパークを探していると言っています。あなたのCustomButtonではなく、私がスキンを処理すると仮定しています。

かかわらず、このの、あなたの方法の内側にあなたがあなたのパラメータではなくCustomButtonのボタンとして入力したdisplayButton方法でのsetStyle

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

私はそのショットを与えるだろう、ありがとう – user1210003

関連する問題