Flex2.0になってからFlashMX2004くらいから使われていたthemeである"Halo"が変更になっています。
helpやlivedocsをみると、Halo Aeonと書かれていました。
これまでのThemeは"Halo Classic"としてFramework以下の
themes/haloclassic.swcに保存されています。
C:\Program Files\Adobe\Flex Builder 2 Beta 1\Flex Framework 2\frameworks\themes
これはパブリックベータになってから追加されているようです。
themeの適用ですが、これまでFlex1.5ではApplicationタグで指定していました。
<mx:Application theme="xxx.swc" >
Flex2.0からは、コンパイル時に指定するようです。
./mxmlc -theme theme\haloclassic.swc
コンパイル時に指定することで、プロジェクト単位で同じThemeを適用することができます。
試しに、Flex Builder2 で以前作成した、翻訳アプリケーションのプロジェクトでhaloclassic.swcをコピーしてFlex compilerのAdditional compiler arguments:に追加してみたところ、haloclassicが適用されました。
themeのオプションを指定しないとき(デフォルト)
themeにhaloclassicを指定しているとき
ボタンやコンボボックスの外観が変わっているのがわかると思います。
実際に適用するときには、Flex Builder 2でThemeを変更したいプロジェクトを選択して、properties -> Flex Compilerにある、Additional compiler arguments:で以下をオプションを追加します。
-theme haloclassic.swc上記は、haloclassic.swcをプロジェクト直下にコピーしたのでパスの指定をしていません。 別の場所にある場合は、swcファイルがあるパスを指定します。
themeを指定したあとに、Flex Builder2上のmxmlエディタでdesignモードを選択したのですが、デフォルトのHalo Aeonのままでした。
mxmlエディタまでは(いまのところ)反映されないようです。
以前のエントリーにも書いた、MacOS X themeやWindowsXP themeはやはりFlex1.5用なので、エラーになってしまいました。
An internal build error has occurred. Please check the Error Log.
ログファイルを見ると、Exceptionが発生していました。catalog.xmlの形式が?異なっている言う旨のエラーメッセージが出力されていました。
Flex2やAS3のサンプルアプリケーションは最近は見るようになりましたが、Themeやskinのサンプルや配布しているのはあまり見たことがありません。
どなたかFlex1.5用のThemeの変更方法や、Flex2.0で使えるtheme,skinなどがありましたら教えてください。m(__)m
参考リンク:
About Theme(Livedocs)
ここにHalo Aeonとかかれていました。
http://livedocs.macromedia.com/flex/20beta1/docs/00001023.html#wp226385
Using themes
コンパイル時のtheme指定方法
http://livedocs.macromedia.com/flex/20beta1/docs/00001025.html#230229
Programmatic Skinning with Flex 2
http://weblogs.macromedia.com/khoyt/archives/2006/02/programmatic_sk.cfm
この記事に対するコメント