#android #button #android-drawable
#Android #кнопка #android-drawable
Вопрос:
У меня есть кнопка с 2 различными изображениями для нажатого и отпущенного состояния. Как мне переключить состояние программно?
Ответ №1:
Ответ №2:
это можно сделать, используя настраиваемый фоновый рисунок внутри нашего ImageButton
buttonSelector.xml
:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/button_pressed" android:state_selected="true"/>
<item android:drawable="@drawable/button_pressed" android:state_focused="true" />
<item android:drawable="@drawable/button_pressed" android:state_pressed="true" />
<item android:drawable="@drawable/button_disabled" android:state_enabled="false" />
<item android:drawable="@drawable/button_default" />
поместите это @drawable/buttonSelector.xml код внутри фона вашей кнопки изображения XML-код
<ImageButton
android:id="@ id/demoBtn"
android:background="@drawable/buttonSelector"
android:layout_width="70dp"
android:layout_height="70dp"
android:src="@drawable/btndefaultImage"/>
В вашем Mainactivity вы можете установить состояние кнопки как нажатое или в состоянии по умолчанию, используя нижеприведенную строку
demoBtn.setSelected(true);//used to maintain button as selected/pressed
demoBtn.setSelected(false);//used to maintain button as unseleced/default
Комментарии:
1. Я думаю, вам следует использовать: «android: state_activated» вместо этого. «android: state_selected» больше подходит для навигации по D-pad.