Ответ 1
Я сделал глупую ошибку и не поставил
android:clickable="true"
android:focusable="true"
в мой макет списка. Я думаю, что этого не требовалось до L, но это не имеет значения, потому что в этом и заключается проблема.
Возможно, этот вопрос задавали раньше, но я не смог найти точного ответа. Я реализовал виджет RecyclerView
в качестве списка в моем тестовом приложении L, и я хочу получить "материальный эффект", когда вы нажимаете на элемент из списка. Я внедрил onClickListener
в моем создании ViewHolder
и установил атрибут
android:background="?android:attr/selectableItemBackground"
в качестве фона для моего макета элемента списка (для родителя).
Но ничего из этого не получилось. Когда я нажимаю на пункты НИЧЕГО, происходит ". Нет никакого эффекта, холода, материала, нет... Пожалуйста, укажите, что я делаю что-то неправильно здесь... спасибо
Я сделал глупую ошибку и не поставил
android:clickable="true"
android:focusable="true"
в мой макет списка. Я думаю, что этого не требовалось до L, но это не имеет значения, потому что в этом и заключается проблема.
Сандра ответ не работал у меня. Мне понадобилось еще одно свойство в макете списка:
android:clickable="true"
android:focusable="true"
android:background="?android:attr/selectableItemBackground"
Примечание: если вы получили сообщение об ошибке при вставке в последнюю строку, ваше приложение Android будет установлено на версии 10 или ниже. Просто щелкните правой кнопкой мыши на ошибке в Android Studio и установите ее так, чтобы она также создала версию вашего макета v11. Затем в исходном макете обязательно удалите
android:background="?android:attr/selectableItemBackground"`
Это связано с тем, что анимация не поддерживается в версиях vroid vroid или ниже. Создав эти два файла макета, анимация будет правильно отображаться в версиях Android версии v11 +, и, конечно же, она не будет отображаться в более низких версиях.
(или просто увеличьте версию minSdkVersion вашего приложения до более 10)
android:clickable="true"
android:focusable="true"
эти строки больше не используются. просто добавив
android:background="?android:attr/selectableItemBackground"
работает для эффекта щелчка.