[Android]ボタン選択時に背景画像とテキスト色を同時に変更する方法
つまり以下の様なことがやりたい
ボタン選択時の背景画像を変更し、同時に文字の色を白にする。
<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()){
//・・・選択時に行いたい処理・・・
}
}
});
たまに実装しようとした際に迷うので備忘としてあげておきます
Author And Source
この問題について([Android]ボタン選択時に背景画像とテキスト色を同時に変更する方法), 我々は、より多くの情報をここで見つけました https://qiita.com/takenori-ooba/items/19d346f6a9d88cf686e1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .