У меня есть 8 кнопок в моей деятельности. Я ищу, кнопки имеют фон по умолчанию и при нажатии кнопки цвет фона должен измениться на другой цвет. Эта часть довольно проста. Но, когда я нажимаю на любую другую кнопку, цвет фона первой кнопки должен измениться на цвет по умолчанию. Я понимаю, что это будет сделано с использованием "состояний селектора", но я не совсем уверен, как его реализовать. Чем больше я читаю об этом, тем больше я смущен.
Прямо сейчас, xml, который у меня есть, выглядит следующим образом: в папке с рисунком
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/blue" android:state_pressed="true"/>
<item android:drawable="@color/dark_grey" android:state_focused="true"/>
<item android:drawable="@drawable/image_border"/>
</selector>
drawable/image_border в xml используется для определения формы для кнопки. Ниже приведено изображение_border.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="@color/dark_grey" />
<stroke
android:width="4dp"
android:color="@color/light_grey" />
<padding
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp" />
</shape>
Может кто-нибудь помочь мне с тем, как изменить xml, чтобы вести себя так, как мне это нужно?
[ИЗМЕНИТЬ 1]
Все приведенные ниже ответы указывают на аналогичный вид решения. Вот те изменения, которые я сделал. Но, все же, когда я нажимаю кнопку, он поворачивается к указанному цвету, но сразу возвращается к цвету по умолчанию.
button_background_blue.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/image_border_blue" android:state_pressed="true"/>
<item android:drawable="@color/dark_grey" android:state_focused="true"/>
<item android:drawable="@drawable/image_border"/>
</selector>
image_border_blue.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="@color/blue" />
<stroke
android:width="4dp"
android:color="@color/blue" />
<padding
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp" />
</shape>
Любые мысли?