2010年8月31日火曜日

画像でボタンを作る方法

これまでスタイルで指定する方法を使っていたけれど、よりよい方法を見つけた。
スタイルで指定するとEclipseのLayoutエディタではプレビューできなかった。
でも、以下の方法ならばプレビューもちゃんとできる。

まず、画像を3つ用意する。
  • 通常時の画像。
  • トラックパッドなどで選択されている時の画像。
  • タッチされている時の画像。
例えばこんな感じ。
res/drawable/normal.png
res/drawable/focused.png
res/drawable/pressed.png

次に、ボタンの状態に応じて表示するものが変わるdrawableをxmlで作成する。

drawable/button.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/focused" android:state_focused="true"/>
    <item android:drawable="@drawable/pressed" android:state_pressed="true"/>
    <item android:drawable="@drawable/normal"/>
</selector>


そしてボタンに適用する。

layoutファイルにて
<Button
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:background="@drawable/button"/>

0 件のコメント:

コメントを投稿