Cette question se pose pour un certain nombre de recherches liées à la couleur hexadécimale, je vais donc ajouter un résumé ici.
Couleur de l'int
Les couleurs hexadécimales prennent la forme RRGGBB
ou AARRGGBB
(alpha, rouge, vert, bleu). D'après mon expérience, lorsque vous utilisez int
directement un , vous devez utiliser le AARRGGBB
formulaire complet . Si vous n'avez que le RRGGBB
formulaire, préfixez-le avec FF
pour rendre l'alpha (transparence) complètement opaque. Voici comment vous le définiriez dans le code. Utiliser 0x
au début signifie qu'il est hexadécimal et non en base 10.
int myColor = 0xFF3F51B5;
myView.setBackgroundColor(myColor);
Couleur de la chaîne
Comme d'autres l'ont noté, vous pouvez utiliser Color.parseString
comme ça
int myColor = Color.parseColor("#3F51B5");
myView.setBackgroundColor(myColor);
Notez que la chaîne doit commencer par un #
. Les formats RRGGBB
et AARRGGBB
sont pris en charge.
Couleur à partir de XML
Vous devriez réellement obtenir vos couleurs à partir de XML dans la mesure du possible. Il s'agit de l'option recommandée, car elle facilite considérablement les changements de couleur dans votre application. Si vous définissez beaucoup de couleurs hexadécimales dans votre code, il est très difficile d'essayer de les modifier plus tard.
La conception de matériaux Android a des palais de couleurs avec les valeurs hexadécimales déjà configurées.
Ces couleurs de thème sont utilisées dans votre application et ressemblent à ceci:
colours.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="primary">#3F51B5</color>
<color name="primary_dark">#303F9F</color>
<color name="primary_light">#C5CAE9</color>
<color name="accent">#FF4081</color>
<color name="primary_text">#212121</color>
<color name="secondary_text">#757575</color>
<color name="icons">#FFFFFF</color>
<color name="divider">#BDBDBD</color>
</resources>
Si vous avez besoin de couleurs supplémentaires, une bonne pratique à suivre est de définir votre couleur en deux étapes en xml. Nommez d'abord la couleur de la valeur hexadécimale, puis nommez un composant de votre application qui devrait obtenir une certaine couleur. Cela facilite le réglage ultérieur des couleurs. Encore une fois, c'est dans colours.xml .
<color name="orange">#fff3632b</color>
<color name="my_view_background_color">@color/orange</color>
Ensuite, lorsque vous souhaitez définir la couleur dans le code, procédez comme suit:
int myColor = ContextCompat.getColor(context, R.color.my_view_background_color);
myView.setBackgroundColor(myColor);
Couleurs prédéfinies Android
La classe Color est fournie avec un certain nombre de constantes de couleur prédéfinies. Vous pouvez l'utiliser comme ça.
int myColor = Color.BLUE;
myView.setBackgroundColor(myColor);
D'autres couleurs sont
Color.BLACK
Color.BLUE
Color.CYAN
Color.DKGRAY
Color.GRAY
Color.GREEN
Color.LTGRAY
Color.MAGENTA
Color.RED
Color.TRANSPARENT
Color.WHITE
Color.YELLOW
Remarques