Android将color int转换为hexa String

lac*_*cas 44 android colors

public static int RGB(float[] hsv) {
    return Color.HSVToColor(hsv);
}
Run Code Online (Sandbox Code Playgroud)

这个函数添加一个int,froma颜色.如何将该int转换为hexa字符串:#efefef

Dmi*_*hin 163

对于颜色,st0le的答案是不正确的.如果第一个颜色分量为0则不起作用.因此toHexString是无用的.

但是,此代码将按预期工作:

String strColor = String.format("#%06X", 0xFFFFFF & intColor);
Run Code Online (Sandbox Code Playgroud)

  • 你的绝对正确.我不明白为什么其他人低估了你的答案.还是非常感谢! (2认同)
  • 警告:如果使用alpha通道,这个6位数版本将无法使用8位六边形颜色. (2认同)
  • 对于 8 位颜色: String.format("#%06X", 0xFFFFFFFF & intColor); (2认同)

st0*_*0le 20

这里有两种方法可以将Integer转换为Hex Strings ...

    int  n = 123456;
    System.out.println(String.format("#%X", n)); //use lower case x for lowercase hex
    System.out.println("#"+Integer.toHexString(n));
Run Code Online (Sandbox Code Playgroud)