2012-04-03 19 views
11
<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" 
      android:color="#ff0000"/> 
    <item android:state_focused="true" 
      android:color="#0000ff"/> 
    <item android:color="#00ff00"/> 
</selector> 

Ho questo selettore che sto cercando di usare per cambiare lo sfondo di una Linearlayout. Ogni volta che cerco di applicarla, tuttavia ottengo sempre questo messaggio di errore:Il selettore richiede un attributo estraibile?

org.xmlpull.v1.XmlPullParserException: linea di file XML Binary # 4: tag richiede un tag 'disegnabile' attributo o bambino definendo un drawable

Ovviamente, mi vuole usare l'attributo drawbute ma non sono sicuro di come farlo e cambiare lo sfondo come voglio.

risposta

24
android:drawable="@color/red" 

e aggiungere questo in ogni articolo con colore differente ....

+0

Grazie signore, il mio cervello non funzionava. – Garzahd

+12

qualcuno sa perché è necessario, quando i documenti mostrano che la specifica del colore direttamente dovrebbe funzionare? http://developer.android.com/guide/topics/resources/color-list-resource.html È dovuto al targeting di un vecchio SDK? – qix

+7

@Linus, utilizzando 'android: color' funzionerà (e deve essere incluso) se si specifica una proprietà del colore (ad esempio, utilizzando il selettore come' android: textColor = "@ color/..." '). Se stai specificando una proprietà drawable (ad es., 'Android: background = "@ ..." '), cerca un attributo' android: drawable'. – karl

Problemi correlati