java - paleta - Convierta el valor de color hexadecimal(#ffffff) en valor entero
tabla de codigo de colores (7)
Tengo el mismo problema que encontré un color en forma de #AAAAAA
y quiero convertirlo en una forma que Android pueda usar. Descubrí que puedes usar 0xFFAAAAAA
para que Android pueda decir el color automáticamente. Observe que el primer FF
dice valor alpha
. Espero eso ayude
Estoy recibiendo valores de color hexadecimal de un servidor (en esta forma, #xxxxxx
, ejemplo #000000
para negro)
¿Cómo convierto esto a un valor entero?
Intenté hacer Integer.valueOf("0x" + passedColor.substring(1, passedColor.length()))
para obtener un resultado de stitch0x000000 aún más, pero esto no se interpreta como int
aquí, ¿alguna otra sugerencia?
Recibo un error: 08-03 21:06:24.673: ERROR/AndroidRuntime(20231): java.lang.NumberFormatException: unable to parse ''0x00C8FBFE'' as integer
Estoy usando el SDK de Android para su función setBackgroundColor(int color)
, que toma, como habrás adivinado, un valor de color entero.
Esto es lo CONTRARIO de esta pregunta: ¿Cómo convertir un entero de color a una cadena hexagonal en Android?
Estaba enfrentando el mismo problema. De esta manera pude resolverlo. Como dijo CQM, usar Color.parseColor () es una buena solución a este problema.
Aquí está el código que utilicé:
this.Button_C.setTextColor(Color.parseColor(prefs.getString("color_prefs", String.valueOf(R.color.green))));
En este caso, mi objetivo era cambiar el color del texto del botón (Button_C) cuando cambio la selección de color de mis Preferencias (color_prefs).
Integer.parseInt(myString.replaceFirst("#", ""), 16)
La verdadera respuesta es usar:
Color.parseColor(myPassedColor)
en Android, myPassedColor
es el valor hex
como #000
o #000000
o #00000000
.
Sin embargo, esta función no admite valores hexadecimales hexadecimales como #000
.
La verdadera respuesta es la más simple y fácil ...
String white = "#ffffff";
int whiteInt = Color.parseColor(white);
Prueba esto, crea drawable en tu recurso ...
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="@color/white"/>
<size android:height="20dp"
android:width="20dp"/>
</shape>
luego usa ...
Drawable mDrawable = getActivity().getResources().getDrawable(R.drawable.bg_rectangle_multicolor);
mDrawable.setColorFilter(Color.parseColor(color), PorterDuff.Mode.SRC_IN);
mView1.setBackground(mDrawable);
con color ... "#FFFFFF"
si el color es transparente usa ... setAlpha
mView1.setAlpha(x);
con x float 0-1 Ej (0.9f)
Buena suerte
La respuesta es muy simple chicos, en Android si quieres convertir el color hexadecimal a int, solo usa la clase de color Android, ejemplo que se muestra a continuación
esto es para el color gris claro
Color.parseColor("#a8a8a8");
Eso es todo y obtendrá su resultado.