【AIR】【Flex】【ActionScript】文字色を変える
colorPickerを使います。
記述したのはこんな感じです。
<mx:ColorPicker id="ner_color" change="change_color(event)" dataProvider="{simpleDP}"/>
simpleDPは以下の様にしています。
[Bindable] public var simpleDP:Array = ['0x000000', '0xFF0000', '0xFF8800','0xFFFF00', '0x88FF00', '0x00FF00', '0x00FF88', '0x00FFFF','0x0088FF', '0x0000FF', '0x8800FF', '0xFF00FF', '0xFFFFFF'];
Arrayに色の指定を直接格納しています。
これをした色だけ、colorPickerで表示されます。
これをすることで、change_color()にeventとともに、色を示す文字列を渡します。
注意点
通常なら、text.color=…なんて指定したら色が変わるだろう。と思っていたのですがところがどっこい。できません。
色々ぐぐった結果、以下のような書き方だと可能みたいです。
private function change_color(event:ColorPickerEvent):void{ var format:TextFormat = new TextFormat(); format.color = event.currentTarget.selectedItem; text2.setStyle('color',format.color); }
TextFormat変数を作成して、それをtextにsetStyleしてやらないと、色変更はできません。