【发布时间】:2011-05-29 05:56:59
【问题描述】:
public static int RGB(float[] hsv) {
return Color.HSVToColor(hsv);
}
这个函数添加一个int,froma颜色。如何将该 int 转换为六进制字符串:#efefef
【问题讨论】:
public static int RGB(float[] hsv) {
return Color.HSVToColor(hsv);
}
这个函数添加一个int,froma颜色。如何将该 int 转换为六进制字符串:#efefef
【问题讨论】:
st0le 的答案在颜色方面是不正确的。如果第一个颜色分量为 0 则不起作用。所以 toHexString 没用。
但是此代码将按预期工作:
String strColor = String.format("#%06X", 0xFFFFFF & intColor);
【讨论】:
6C94C,但实际上是 479f53
这里有两种将整数转换为十六进制字符串的方法...
int n = 123456;
System.out.println(String.format("#%X", n)); //use lower case x for lowercase hex
System.out.println("#"+Integer.toHexString(n));
【讨论】:
如果要转成javascript格式:
val hexColor = String.format("%06X", 0xFFFFFFFF.and(R.color.text.toColorInt(context).toLong()))
val javascriptHexColor = "#" + hexColor.substring(2) + hexColor.substring(0, 2)
【讨论】:
这样使用
Java:
String hexColor = "#" + Integer.toHexString(ContextCompat.getColor(context, R.color.colorTest))
科特林:
var hexColor = "#${Integer.toHexString(ContextCompat.getColor(context, R.color.colorTest))}"
【讨论】: