Flexで動的にCSSやスキンを変更する
swfにしたCSSファイルをロードしてごそっと変更するやり方もありますが、まずはプリミティブに変更するやつを。
<fx:Script> <![CDATA[ [Bindable] private var buttonColor:uint=0xB8B8B8; [Bindable] private var mySize:Number = 20; ]]> </fx:Script> <fx:Style> @namespace s "library://ns.adobe.com/flex/spark"; s|Button { fontSize: PropertyReference("mySize"); color: PropertyReference("buttonColor"); } </fx:Style>
スキンをコードベースで*1
<fx:Script> <![CDATA[ //省略..................................................... private function parentElement_creationCompleteHandler(event:FlexEvent):void{ myButton.setStyle("skinClass",myButtonSkin); } ]]> </fx:Script> <s:Button id="myButton" label="button"/>