我刚刚试过这样
System.out.println("color == " + Color.parseColor("#F5F5F5"));
然后它像这样返回
color == -657931
有人知道为什么吗?
最佳答案
首先,parseColor
方法将返回十六进制 F5F5F5
的整数表示,实际上是 FFF5F5F5
+颜色的不透明度。
FFF5F5F5
的十进制值为 4294309365
,然后将其转换为会溢出的整数,从而得到负数。
这是一个溢出的例子
int i = (int)4294309365L; //4294309365L the decimal representation of FFF5F5F5
System.out.println(i); //result: -657931
关于android - Color.parseColor 返回负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25073930/