tande lab.

[Android] colors.xml で色情報を変数のように扱う

ひとつのアプリケーション内で利用する色って限られているので、いくつかパターンを決めておいて変数のように指定できたら便利だなーと思ってたら、ちゃんとそういう仕組みが用意されてた。

やり方は以下な感じ。

res > values

の中に "colors.xml" を新規作成します。

https://lh4.googleusercontent.com/-8O8Xi_Kmx9Q/UOcH0h_KtLI/AAAAAAABPTs/Nj5VUBt85kE/s800/130105-0001.png

下記のように、色の名前と16進数の色コードを対応付けて登録します。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="white">#FFF</color>
	<color name="gray_normal">#666</color>
	<color name="gray_dark">#333</color>
	<color name="gray_light">#CCC</color>
	<color name="green_normal">#6a8c18</color>
	<color name="green_dark">#153703</color>
</resources>

使い方は、以下のような感じ。

eclipse のプロパティパネルで指定する場合

"colors.xml" を作成すると色の名前が候補に出てくるようになるので、簡単に指定できる。
https://lh4.googleusercontent.com/-lH0bI7sDdsQ/UOcJUGmMXfI/AAAAAAABPUo/fbDGyZ8e88c/s800/130105-0002.png

XML で直接指定する場合

もちろん XML に直接こんな感じで書いても良し。

android:textColor="@color/green_normal"

色々と試行錯誤中

Photoshop でデザインカンプを作らずに、手書きで遷移図&UIラフスケッチ書いたら、そこからいきなり XML で デザイン起こせないかと思って色々試行錯誤中。。。

去年出席した #aadesigns で色々と吸収させてもらったので、その辺りの復習も兼ねて。
前記事 – Androidアプリのデザインの幅を広げるコツとTips 総集編 #aadesigns at GDG2012 に参加してきた | tande lab.

XML 慣れるまでややこしいけど、慣れたら Photoshop でデザインカンプ起こしてエンジニアにデザイン指示書出すという従来のやり方よりかなりいい気がする。

参考サイト