Paramètre Drawable en tant que couleur de texte augmente une exception 'La valeur de couleur doit commencer par #'

Dans une layout j'utilise un button lequel j'ai configuré le textColor comme étant dessiné comme suit:

@ Drawble / text_color_drawable:

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- disabled state --> <item android:state_enabled="false" android:color="@color/disabled_text_color" /> <item android:color="@color/main_text_color"/> </selector> 

@ Couleur / main_text_color:

 <color name="main_text_color">#9797A3</color> 

Mais lorsque j'utilise ce drawable appelé text_color_drawable comme textColor : android:textColor="@drawable/text_color_drawable"
Je reçois une exception: Exception raised during rendering: Color value text_color_drawable must start with #

Est-ce que je fais quelque chose de mal ?

Je vous remercie

2 Solutions collect form web for “Paramètre Drawable en tant que couleur de texte augmente une exception 'La valeur de couleur doit commencer par #'”

Le problème peut être @drawble/text_color_drawable : il ne devrait pas être un 'drawable', mais plutôt un
'Couleur'. Fondamentalement, ce que vous avez actuellement est un StateListDrawable , mais ce que vous voulez vraiment, c'est ColorStateList . Les deux sont assez similaires, mais vivent dans des endroits différents dans les ressources.

Cela étant dit, essayez de déplacer le fichier de res/drawable en res/color . Lorsque vous affectez la ressource comme couleur de texte, il devrait dire: android:textColor="@color/text_color_drawable"

Dans mon cas, un bouton de rafraîchissement a aidé. Il est placé dans une petite barre d'outils sur une vue de conception, près d'un lustre (avec des icônes comme 1: 1, +, -).

coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.