Android ListView Выберите анимацию

Как настроить анимацию, когда пользователь выбирает элемент в списке?

Я делаю свой собственный адаптер listview для установки четных строк с розовым фоном и нечетными строками с фиолетовым фоном. Единственная проблема заключается в том, что я не уверен, как настроить анимацию для щелчка пользователем («касания») элемента.

Я думал о внедрении OnTouchListener и изменении фона на зеленый, когда он выбран. НО у меня есть кнопки внутри строк, которые больше не могут работать из-за реализации OnTouchListener. Это правда?

Код:

public class MyAdapter extends BaseAdapter { public View getView(int position, View convertView, ViewGroup parent) { // position is the element's id to use // convertView is either null -> create a new view for this element! // or not null -> re-use this given view for element! // parent is the listview all the elements are in if (convertView == null) { convertView = mInflater.inflate(R.layout.your_layout, null); // here you must do whatever is needed to populate the elements of your // list element layout ... } else { // re-use the given convert view // here you must set all the elements to the required values } // your drawable here for this element convertView.setBackground(...); // maybe here's more to do with the view return convertView; } } 

    Используйте StateListDrawable с определенным элементом для state_selected.

     <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="true" android:drawable="@drawable/selected" /> ...Other States... <item android:drawable="@drawable/normal" /> </selector> 

    Таким образом, когда выбран элемент списка, он будет автоматически использовать этот «выбранный» графический файл.

    Intereting Posts
    Как передать путь к файлу, находящемуся в папке с ресурсами, в файл (путь строки)? Проблемы с макетом, связанные с поддержкой нескольких экранов Журнальные сообщения в андроид-студии junit test Ошибка HTTP / 1.0 405 Метод не разрешен Как скомпилировать мою собственную C ++-библиотеку для Android? Какова альтернатива устаревшему Canvas.getMatrix ()? AdapterView.OnItemClickListener с большим количеством ListView Как правило, система Android загружает собственную библиотеку (например, файл) из armeabi, armeabi-v7a, arm64-v8a? 9 патч-изображений масштабируется в неправильном положении InflateException: двоичная строка XML-файла # 1: ошибка раздувания класса <unknown>, вызванная OutOfMemoryError Исключение parse: в строке 1 столбец 0: элемент не найден Закладка пунктов меню в панели действий sherlock Fclose работает по-разному на Android и Linux Клавиатура над EditText при втором щелчке Как быстро добавлять ярлыки приложений в android