つまり以下の様なことがやりたい
ボタン選択時の背景画像を変更し、同時に文字の色を白にする。
<Button
android:id="@+id/r_time_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5分以内"
android:textColor="@drawable/refine_button_selector"
android:background="@drawable/refine_button_selector"/>
上記のように、textColorとbackgroundにselectorを記載したファイル名を指定しておく
refine_button_selector.xmlにて、「state_selected」を設定し、選択中かそれ以外かを判定できるように。drawableに画像、colorに文字色をそれぞれ設定する
refine_button_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/select_btn_off" android:color="@color/black" android:state_selected="false" />
<item android:drawable="@drawable/select_btn_on" android:color="@color/white" android:state_selected="true" />
</selector>
あとはonClickで処理してやるだけ
rTime5 = findViewById(R.id.r_time_5);
rTime5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setSelected(!v.isSelected());
if(v.isSelected()){
//・・・選択時に行いたい処理・・・
}
}
});
たまに実装しようとした際に迷うので備忘としてあげておきます