定数値リソース


今回は文字列や色、寸法などの定数値リソースについて詳しく見ていきます。

「色」に関するリソースはres/values/colors.xml以下に格納します。
ファイル名は任意です。

色リソースはcolors.xmlに以下のように記述します。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="background">#FFFFFF</color>
    <color name="foreground">#000000</color>
</resources>

色の指定にはいくつかのフォーマットがあります。

  • #RGB
  • #ARGB
  • #RRGGBB
  • #AARRGGBB

RはRed、GはGreen、BはBlueで、AはAlpha(透過度)です。

定義した色リソースはプログラムから以下のように参照できます。

int bgcolor = getResources().getColor(R.colors.background);
TextView1.setBackgroundColor(bgcolor);

getResources().getColorというメソッドでcolors.xmlに定義されている
backgroundという色リソースを参照しています。

他のリソースファイルから参照したい場合は以下のようにします。

<color name="background2">@colors/background</color>

文字列

「文字列」に関するリソースはres/values/strings.xml以下に格納します。
ファイル名は任意です。

文字列リソースはstrings.xmlに以下のように記述します。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="text_msg">Text Message</string>
</resources>

プログラムからは以下のように参照します。

TextView1.setText(R.string.text_msg);

他のリソースファイルから参照したい場合は以下のようにします。

<string name="text_msg2">@strings/text_msg</color>

寸法

「寸法」に関するリソースはres/values/dimens.xml以下に格納します。
ファイル名は任意です。

寸法リソースはdimens.xmlに以下のように記述します。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="one_pixel">1px</dimen>
    <dimen name="double_density">2dp</dimen>
    <dimen name="sixteen_sp">16sp</dimen>
</resources>

プログラムからは以下のように参照します。

TextView1.setHeight(R.dimens.one_pixel);

他のリソースファイルから参照したい場合は以下のようにします。

<string name="one_pixel2">@dimens/one_pixel</color>
One Comment