Flex での動的なスタイルの切り替え

2011年12月1日 01:28

通常 Flex でスタイルを設定する時は、MXML の Style タグ内に直接記述するか、
外部 CSS を読み込むのだけど、動的にスタイルを切り替えたい場合、
CSS ファイルを SWF 化して、コード内でハンドリングしてやれば良いみたい。

CSS を SWF 化するのは以下の手順。

  1. Flash Builder のパッケージエクスプローラで該当 CSS を選択
  2. 右クリックでコンテキストメニューを表示し、「CSS から SWF にコンパイルする」を選択

CSS から SWF にコンパイルする

以上で、コンパイルのタイミングで SWF が bin-debug 内に書き出される。

実際にスタイルを読み込むコードはこんな感じ。

var manager:IStyleManager2 = StyleManager.getStyleManager(null);
switch(Util.getUserOs()){
    case "WIN":
        manager.loadStyleDeclarations2("style/win.swf");
        break;

    case "MAC":
        manager.loadStyleDeclarations2("style/mac.swf");
        break;
}

//※Util.getUserOs() はこちらで定義した Util メソッドです。

カテゴリー: programming タグ:

コメントはまだありません

No comments yet.

TrackBack URL

Leave a comment