モケラ

Tech Sheets

mokelab

ボタンの画像を変更する

最終更新日:2015-08-15

通常のViewであれば、背景画像はandroid:backgroundで変更できますが、ボタンの場合はタップされているときとされていないときの2つを用意する必要があります。

drawable xmlを作成する

res/drawableに適当なファイル名でxmlファイルを1つ作成します。ここではbutton_back.xmlとします。ボタンの背景に使うので、selectorをルートとして次のようにします。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="false">
        <color android:color="#FFF44336"/>
    </item>
    <item android:state_pressed="true">
        <color android:color="#FFB71C1C"/>
    </item>
</selector>

子のitemのandroid:state_pressedで、タップ中かそうでないかを指定します。ここでは、タップされていないときは#FFF44336で、タップ中は#FFB71C1Cになるようにしています。

ボタンの背景に指定する

res/drawableにいれたxmlファイルはandroid:backgroundに@drawable/ファイル名 で指定できます。

<Button
    android:id="@android:id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/button_back"
    android:text="@string/send"/>

タップしていないときのボタンは次のようになります。

タップ中のボタンは次のようになります。

一覧に戻る