Androidでは画像データをDrawableというリソースで扱います。
Drawableで扱える画像データは以下のものがあります。
- Bitmapファイル
- Nine-Patchファイル
- State List
では、それぞれのリソースについて詳しく見ていきましょう。
Bitmapファイル
「Bitmapファイル」は基本的な画像データです。
.png、.jpg、gifをAndroidではサポートしています。
画像データ(lilastoy.pngなど)場所はres/drawableに格納します。
res/drawableに格納した画像データはR.javaで以下のような形で表されます。
public static final class drawable { public static final int lilastoy=0x7f020002; public static final int masktoy=0x7f020003; public static final int toothtoy=0x7f020004; }
お気付きのようにファイル名から拡張子が取り除かれた形になります。
そして、このリソースにはgetResources().getDrawableというメソッドで参照します。
Drawable img = getResources().getDrawable(R.drawable.lilastoy)
Nine-Patchファイル
伸張可能な画像ファイルを指します。
AndroidではDraw 9-pacheというNine-Patch生成アプリケーションが標準で付属されており、
こういった画像ファイルを簡単に生成できます。
画像データ(masktoy.pngなど)場所はres/drawableに格納し、
アクセスは以下のように行います。
Drawable img = getResources().getDrawable(R.drawable.masktoy)
State List
ボタンのように押した状態と離した状態で表示する画像を変化させたい場合は、State Listを使います。
State Listは以前の記事で取り上げたことがありますので、そちらを参照して下さい。