Android将color int转换为hex String

时间:2010-12-22 06:26:11

标签: android colors

public static int RGB(float[] hsv) {
    return Color.HSVToColor(hsv);
}

此函数从颜色添加一个int。如何将该int转换为十六进制字符串:#efefef

4 个答案:

答案 0 :(得分:157)

关于颜色,st0le的答案是不正确的。如果第一个颜色分量为0,它就不起作用。所以toHexString没用。

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

String strColor = String.format("#%06X", 0xFFFFFF & intColor);

答案 1 :(得分: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));

答案 2 :(得分:0)

如果要转换为javascript格式:

val hexColor = String.format("%06X", 0xFFFFFFFF.and(R.color.text.toColorInt(context).toLong()))

val javascriptHexColor = "#" + hexColor.substring(2) + hexColor.substring(0, 2)

答案 3 :(得分:0)

用这种方式

Java:

 String hexColor = "#" + Integer.toHexString(ContextCompat.getColor(context, R.color.colorTest))

科特林:

var hexColor = "#${Integer.toHexString(ContextCompat.getColor(context, R.color.colorTest))}"