Je voudrais utiliser une couleur d'une chaîne hexa comme "#FFFF0000"
pour (par exemple) changer la couleur d'arrière-plan d'une mise en page.
Color.HSVToColor
ressemble à un gagnant mais il prend float[]
un paramètre.
Suis-je proche de la solution?
Réponses:
Essayez
Color
la méthode de classe:Depuis la documentation Android :
la source
#000
valeurs?if(colorString.length() == 4) { colorString = "#" + StringUtils.repeat(colorString.substring(1, 1), 1) + StringUtils.repeat(colorString.substring(2, 2), 1) + StringUtils.repeat(colorString.substring(3, 3), 1) }
if(colorString.length() == 4 && colorString[0] == '#')
Essayer:
la source
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
ouAARRGGBB
(alpha, rouge, vert, bleu). D'après mon expérience, lorsque vous utilisezint
directement un , vous devez utiliser leAARRGGBB
formulaire complet . Si vous n'avez que leRRGGBB
formulaire, préfixez-le avecFF
pour rendre l'alpha (transparence) complètement opaque. Voici comment vous le définiriez dans le code. Utiliser0x
au début signifie qu'il est hexadécimal et non en base 10.Couleur de la chaîne
Comme d'autres l'ont noté, vous pouvez utiliser
Color.parseString
comme çaNotez que la chaîne doit commencer par un
#
. Les formatsRRGGBB
etAARRGGBB
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
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 .
Ensuite, lorsque vous souhaitez définir la couleur dans le code, procédez comme suit:
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.
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
la source
Convertissez cette chaîne en une
int
couleur qui peut être utilisée danssetBackgroundColor
etsetTextColor
Le 16 signifie qu'il est hexadécimal et non votre 0-9 habituel. Le résultat doit être le même que
la source
#80000000
dans ce cas, la version intint color = 0x80000000;
. Si cela ne fonctionne pas, postez une nouvelle question avec plus de détails afin que plus de gens que moi le remarquent. Gardez à l'esprit#80000000
est une couleur noire translucide.Ses
la source
Essaye ça:
la source
J'utilise cela et cela fonctionne très bien pour moi pour définir la couleur que je veux.
Définissez les couleurs en utilisant 0-255 pour chaque rouge, vert et bleu, puis partout où vous voulez que cette couleur soit utilisée, mettez simplement MY_COLOR au lieu de Color.BLUE ou Color.RED ou l'une des autres couleurs statiques proposées par la classe Color.
Faites simplement une recherche Google pour le nuancier et vous pouvez trouver un diagramme avec les bons codes RVB en utilisant 0-255.
la source
Dans Xamarin Utilisez ceci
la source
Fichier XML enregistré dans res / values / colours.xml:
Ce code d'application récupère la ressource couleur:
Ce XML de mise en page applique la couleur à un attribut:
la source
Essayez d'utiliser 0xFFF000 à la place et transmettez-le à la méthode Color.HSVToColor.
la source
Si vous définissez une couleur dans votre XML et souhaitez l'utiliser pour changer la couleur d'arrière-plan ou quelque chose, cette API est celle que vous recherchez:
Dans mon échantillon, je l'ai utilisé pour TestView
la source
Pour un code Hex raccourci
la source