色リソースの登録

広告

次に色のリソースです。プログラムの中で文字の色や背景色などで指定可能な色を定義します。定義した色はプログラム中やレイアウトXMLファイル内で参照を行うことができ、その時は色を表すint型の値として取得することが出来ます。

色のリソースはXMLファイルの中に記述していきます。XMLファイルの配置場所はプロジェクトの中の「res/values」ディレクトリの中です。

色リソースの登録

文字列リソースを配置する場所と同じディレクトリとなります。色のリソースを定義するためのXMLファイル名は「color.xml」がサンプルなどでは使われいますがファイル名は任意です。今回は「color.xml」と言う名前で別途XMLファイルを定義してみます。

色の指定方法

色をリソースとして定義する場合にはHTMLファイルなどで色を指定する場合と同じく「#ff0000」のように指定を行います。指定可能なフォーマットは例えば次のようなものがあります。

#RGB
#ARGB
#RRGGBB
#AARRGGBB

赤(R)緑(G)青(B)をそれぞれ0から255までの数値で指定し16進数表記で記述します。例えば「#002f77」などです。また透明度を表すアルファ値(A)を指定する場合は先頭に指定します。例えば「#6f00ff00」などです。

なお「#RGB」や「#ARGB」は省略記法です。「#50f」と書いた場合は「#5500ff」と同じことです。

XMLファイルの記述方法

それではXMLファイルの中身を確認していきます。

<?xml version="1.0" encoding="utf-8"?>
<resources>
</resources>

1行目はXML宣言です。XMLのバージョンと使用する文字エンコードを設定します。XMLファイルは文字コードを「UTF-8」で記述して下さい。そしてルート要素として<resources>を記述します。

次に子要素として<color>要素を定義します。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="resource_name">color_value</color>
</resources>

まず定義したリソースに対するリソース名を「name」属性を使って記述します。そして登録する文字列を<color>要素の内容として記述します。例えばリソース名として「olive」、内容として「#808000」として登録する場合は次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="olive">#808000</color>
</resources>

複数の色を登録する場合は<color>要素を複数登録して下さい。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="olive">#808000</color>
    <color name="chocolate">#d2691e</color>
</resources>

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)