Selector auf Hintergrundfarbe von TextView
Ich versuche die Hintergrundfarbe eines Android zu ändernTextView
Widget, wenn der Benutzer es berührt. Ich habe zu diesem Zweck einen Selektor erstellt, der in @ gespeichert isres/color/selector.xml
und sieht ungefähr so aus:
<?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>
Dasclickable
Attribut desTextView
isttrue
, falls das von Interesse ist.
Wenn ich diesen Selektor einem @ zuordTextView
wieandroid:background="@color/selector"
, Ich erhalte zur Laufzeit die folgende Ausnahme:
ERROR / AndroidRuntime (13130): Auslöser: org.xmlpull.v1.XmlPullParserException: Zeile 6 der binären XML-Datei: Für das Tag ist ein Attribut 'drawable' oder ein untergeordnetes Tag erforderlich, das ein drawable @ definier
Wenn ich das Attribut in "Zeichenbar" ändere, funktioniert es, aber das Ergebnis sieht völlig falsch aus, da die IDs als Bildreferenzen anstelle von Farbreferenzen interpretiert werden (wie in "Zeichenbar" angegeben).
Was mich verwirrt, ist, dass ich eine Farbreferenz einstellen kann, z. "@ color / black", direkt als Hintergrundattribut. Dies funktioniert wie erwartet. Die Verwendung von Selektoren funktioniert nicht.
Ich kann auch den Selektor als @ verwendtextColor
ohne Probleme
Was ist der richtige Weg, um einen Hintergrundfarbwähler auf ein @ anzuwendeTextView
in Android?