TextView
Kullanıcı dokunduğunda bir Android widget'ın arka plan rengini değiştirmeye çalışıyorum . Bu amaçla, içinde depolanan res/color/selector.xml
ve kabaca şöyle görünen bir seçici oluşturdum :
<?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
Niteliği TextView
olan true
ilgi ihtimaline karşı,.
Bu seçiciyi bir TextView
olarak android:background="@color/selector"
atadığımda, çalışma zamanında şu istisnayı alıyorum:
HATA / AndroidRuntime (13130): Nedeni: org.xmlpull.v1.XmlPullParserException: İkili XML dosyası satır # 6: etiket, bir çekilebilir tanımlayan bir 'çekilebilir' özniteliği veya alt etiket gerektirir
Özniteliği çizilebilir olarak değiştirdiğimde işe yarıyor, ancak sonuç tamamen yanlış görünüyor çünkü kimlikler renk referansları yerine görüntü referansları olarak yorumlanıyor gibi görünüyor ("çizilebilir" in önerdiği gibi).
Kafamı karıştıran şey, bir renk referansını, örneğin "@ color / black", doğrudan arka plan özelliği olarak ayarlayabilmem. Bu beklendiği gibi çalışıyor. Seçicileri kullanmak işe yaramıyor.
Seçiciyi textColor
problemsiz olarak da kullanabilirim .
TextView
Android'de bir arka plan rengi seçiciyi uygulamanın doğru yolu nedir ?