Я пытаюсь изменить цвет фона TextView
виджета Android, когда пользователь прикасается к нему. Для этой цели я создал селектор, который хранится res/color/selector.xml
примерно так:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:color="@color/semitransparent_white"
/>
<item
android:color="@color/transparent"
/>
</selector>
clickable
Атрибут TextView
является true
, в том случае, представляющие интерес.
Когда я назначаю этот селектор TextView
as android:background="@color/selector"
, во время выполнения я получаю следующее исключение:
ОШИБКА / AndroidRuntime (13130): вызвано: org.xmlpull.v1.XmlPullParserException: строка двоичного файла XML № 6: тег требует атрибута 'drawable' или дочернего тега, определяющего возможность рисования
Когда я меняю атрибут на drawable, он работает, но результат выглядит совершенно неверным, потому что идентификаторы интерпретируются как ссылки на изображения, а не как ссылки на цвета (как предполагает «drawable»).
Что меня смущает, так это то, что я могу установить ссылку на цвет, например "@ color / black", как атрибут фона напрямую. Это работает, как ожидалось. Использование селекторов не работает.
Я также могу textColor
без проблем использовать селектор .
Как правильно применить селектор фонового цвета к TextView
в Android?