【Android】リソースの定義

Android Tipsプログラミング

res/values配下にXMLファイルを置くことで、以下の様々な定義ができます。

・色の定義
・文字の定義
・スタイルの定義

例では慣例に従ってそれぞれ別ファイルにしていますが、resourcesタグで囲っていればどのようなファイルでも(一つのファイルでも)構いません。
また「values-ja」に定義ファイルを置くことで、日本語とその他の言語で値を切り替えることができます。

res/values/colors.xml(色の定義)

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <color name="white">#ffffffff</color>
  <color name="black">#ff000000</color> 
 </resources>

res/values/string.xml(文字の定義)

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <string name="hello">Hello World</string>
  <string name="app_name">MyActivity</string>
</resources>

res/values/styles.xml(スタイルの定義)

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="my_style">
  <item name="android:layout_width">wrap_content</item>
  <item name="android:layout_height">wrap_content</item> 
  <item name="android:layout_margin">10dp</item> 
  <item name="android:padding">10dp</item> 
  <item name="android:orientation">vertical</item> 
  <item name="android:typeface">serif</item> 
  <item name="android:textSize">24sp</item> 
  <item name="android:textColor">@color/white</item> 
</style>
</resources>

例えばレイアウトでこのように使用します。

res/layout/main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
>
<TextView
  android:background="@color/white"
  android:text="@string/app_name"
  style="@style/my_style"
/>
</LinearLayout>

参考: レイアウトの部品化
参考: 背景形状(shape)の定義

コメント