Androidでボタンの背景画像を変える方法

2019年5月16日

今回は、ボタンの背景を変更する方法を説明します。

 

 

背景画像を変更させたいボタンのbackgroudに自作のセレクターを参照させる

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="40dp">     
    <Button
        android:id="@+id/btnMyHelp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:layout_marginRight="10dp"
        android:textSize="14sp"
        android:textColor="#ffffff"
        android:text="ヘルプ・よくある質問"
        android:gravity="center"
        android:layout_gravity="center"
        android:background="@drawable/button_c"/>
</LinearLayout>

button_c.xmlにボタン選択時と通常時の画像を指定する

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!--選択時-->
    <item
 android:state_pressed="true"
        android:drawable="@drawable/button_cb" />
    <!--通常 -->
    <item
        android:state_pressed="false"
        android:drawable="@drawable/button_ca" />
</selector>

これで、通常時の背景画像はbutton_caに
ボタン選択時の背景画像はbutton_cbになります。