2010年02月22日

[Android] Selectorについて

Selectorというのは、簡単に説明すると、状態に応じて画像や色を自動的に選択してくれる機能です。
Android標準のボタンもSelectorによって出来ています(と思います)。
たぶん標準のボタンのセレクタは↓このxmlではないですかね。

SDKのディレクトリ\platforms\android-1.6\data\res\drawable\btn_default.xml

中を見てみるとごちゃごちゃ書いてあります。
書かれている内容は、どの状態のときにどの画像を使うか、ということのようです。
仕様書を読んでいないので、xmlを読んだ感じや、アプリを動かしてみた感じですが、

・有効時
 「通常」「押下時」「選択時」
・無効時
 「通常」「選択時」

のそれぞれの画像を選択しているっぽいです。

いろいろ試してみたいと思い、今回ボタンとチェックボックスの画像、
あと文字色を書き換えてみました。
↓こんな感じ。
selector.png
手書き風です。
スクリーンショットは一番下の無効なチェックボックスが選択されている状態ですね。
コーディングせずにこんなことが実現できるなんてAndroidってすごいすね。
今回は自分でxmlも書き直したのですが、実際に使うときには、
SDKの↑のxmlをコピーしてきて画像の部分だけ書き換えるのが楽そうです。

まだチェックボックスの画像と文字が重なってたり、
文字色の方については意図した色にならなかったりしていますが、
そのへんはおいおい調べていきたいと思います。

今回のサンプルは↓こちら。
SelectorTest.zip
posted by t2low at 20:02| Android