Я намагаюся змінити колір тла 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
як а android:background="@color/selector"
, я отримую такий виняток під час виконання:
ПОМИЛКА / AndroidRuntime (13130): Викликано: org.xmlpull.v1.XmlPullParserException: Бінарний файл XML-файлу №6: тег вимагає атрибута 'dravable' або дочірнього тега, що визначає виводимий файл
Коли я змінюю атрибут на Dravable, він працює, але результат виглядає абсолютно неправильно, оскільки ідентифікатори, мабуть, інтерпретуються як посилання на зображення замість кольорових посилань (як підказує "малюється").
Що мене бентежить, це те, що я можу встановити кольорову посилання, наприклад, "@ color / black" як атрибут фону. Це працює як очікувалося. Використання селекторів не працює.
Я також можу використовувати селектор як textColor
без проблем.
Який правильний спосіб застосувати селектор кольорів фону до системи TextView
Android?