2016-03-31 2 views
0

Как я могу реализовать сенсорную обратную связь для 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 
     } 
    } 
}); 

ответ

0

Вы можете легко сделать это, используя список состояний и назначая другое изображение для каждого состояния: https://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

+0

Я думаю, что это именно то, что я пытаюсь сейчас, но это не работает. Я добавил код к моему вопросу. Может быть, вы можете заметить ошибку? – MikeFry

+0

Вам необходимо установить StateListDrawable как выталкиваемый из ImageButton. Вам не нужно обращаться с состояниями самостоятельно. – Vaiden

Смежные вопросы