Как я могу реализовать сенсорную обратную связь для ImageButtons? Я хочу, чтобы кнопка изображения меняла изображение при касании кнопки. Я уже обыскал, но, попробовав некоторые вещи, которые не сработали, я немного отчаялся. Правильно ли селектор для этой проблемы и как это работает?ImageButton touch feedback
Моя текущая попытка создать новый .xml-файл в папке с возможностью переноса. Там я бы поставил селектор, это мой текущий код для файла .xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"android:exitFadeDuration="@android:integer/config_mediumAnimTime">
<item
android:state_pressed="true"
android:drawable="@drawable/testbuttonimageselected" />
<item
android:drawable="@drawable/testbuttonimage" />
</selector>
И это мой текущий код для файла .java:
btnTest = (ImageButton) findViewById(R.id.btnTest);
btnTest.setOnClickListener(new View.OnClickListener() {
public void onClick(View button) {
//Set the button's appearance
button.setSelected(!button.isSelected());
if (button.isSelected()) {
//Handle selected state change
} else {
//Handle de-select state change
}
}
});
Я думаю, что это именно то, что я пытаюсь сейчас, но это не работает. Я добавил код к моему вопросу. Может быть, вы можете заметить ошибку? – MikeFry
Вам необходимо установить StateListDrawable как выталкиваемый из ImageButton. Вам не нужно обращаться с состояниями самостоятельно. – Vaiden