J'ai une vue personnalisée qui utilise Paint et Canvas pour dessiner des objets. Ma question est de savoir comment définir:
int color = R.color.white;
Paint.setColor(color);
de mon /res/valuse/color.xml qui inclut des ressources comme
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="white">#FFFFFF</color>
<color name="black">#000000</color>
...
</resources>
int color = ContextCompat.getColor(context, R.color.white);
Paint.setColor(color);
La méthode setColor()
prend un numéro de couleur comme valeur int
, mais pas un identifiant de ressource qui est également int
.
Essayez d'utiliser color.white
:
Paint.setColor(Color.white)
obtenez d'abord votre couleur à partir du fichier xml
int color = context.getResources().getColor(R.color.colorPrimary); // old
est obsolète maintenant, utilisez-le à la place
int color = ContextCompat.getColor(context, R.color.colorPrimary); // new
définir la couleur
Paint.setColor(color);
aperçu du fichier xml: res/values / color.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
</resources>