112 votes

Convertir la valeur hexagonale de la couleur ( #ffffff ) en valeur entière

Je reçois des valeurs de couleurs hexagonales d'un serveur (sous cette forme), #xxxxxx exemple #000000 pour le noir)

Comment convertir cette valeur en un nombre entier ?

J'ai essayé de faire Integer.valueOf("0x" + passedColor.substring(1, passedColor.length())) pour obtenir une image encore plus hextastique 0x000000 mais ce résultat n'est pas interprété comme un int d'autres suggestions ?

Je reçois une erreur : 08-03 21:06:24.673: ERROR/AndroidRuntime(20231): java.lang.NumberFormatException: unable to parse '0x00C8FBFE' as integer

J'utilise le SDK Android pour leur setBackgroundColor(int color) qui prend - comme vous l'avez deviné - une valeur de couleur entière.

C'est l'OPPOSÉ de cette question : Comment convertir un entier de couleur en chaîne hexadécimale dans Android ?

219voto

CQM Points 5056

La vraie réponse est l'utilisation :

Color.parseColor(myPassedColor) dans Android, myPassedColor étant le hex comme #000 o #000000 o #00000000 .

Toutefois, cette fonction ne prend pas en charge les valeurs hexagonales abrégées tels que #000 .

50voto

Ashana.Jackol Points 1790

La réponse est très simple, dans Android si vous voulez convertir une couleur hexagonale en int, il suffit d'utiliser Android Couleur l'exemple ci-dessous

Ceci est pour la couleur gris clair

Color.parseColor("#a8a8a8");

C'est tout et vous obtiendrez votre résultat.

17voto

Mike Samuel Points 54712
Integer.parseInt(myString.replaceFirst("#", ""), 16)

8voto

Fei Points 207

J'ai le même problème, j'ai trouvé de la couleur sous forme de #AAAAAA et je veux convertir cela en une forme qu'Android pourrait utiliser. J'ai découvert qu'il suffit d'utiliser 0xFFAAAAAA afin qu'Android puisse automatiquement déterminer la couleur. Remarquez le premier FF dit alpha valeur. J'espère que cela vous aidera

5voto

La vraie réponse est la plus simple et la plus facile à trouver : ....

String white = "#ffffff";
int whiteInt = Color.parseColor(white);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X