Проблема в том, что вы не можете определить цвет фона, используя селектор цвета, вам нужен селектор drawable .Таким образом, необходимые изменения будут выглядеть следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:drawable="@drawable/selected_state" />
</selector>
Вам также необходимо переместить этот ресурс в каталог drawable
, где это будет иметь больше смысла, так как это не селектор цвета как таковой.
Тогда вам нужно будет создать файл res/drawable/selected_state.xml
следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/semitransparent_white" />
</shape>
и, наконец, вы будете использовать его следующим образом:
android:background="@drawable/selector"
Примечание: причина, по которой ОП получал нарисованный ресурс изображения, возможно, в том, что он пытался сослаться на свой ресурс, который все еще находился в каталоге цветов, но использовал @drawable
, поэтому он столкнулся с ID, выбрав неправильный ресурс.
Надеюсь, это все еще может кому-то помочь, даже если ОП, я надеюсь, уже решил его проблему.