Android - setBackgroundColor int值太大了?

时间:2014-10-22 04:25:44

标签: java android int hex

我试图在android中了解一下这个方法,setBackgroundColor(int)。

我一直看到有人说要将它与十六进制值一起使用,你应该这样做

0xFF000000 + 0x[6 digit hex value that you want]

但是,如果我错了,请纠正我,不是0xFFFFFFFF,这是函数的合法输入,大于整数的最大大小?为什么我可以把它作为输入?是不是因为两个补码将整数的最大值减半?

1 个答案:

答案 0 :(得分:1)

这不是#RRGGBB格式。实际上是0xAARRGGBB格式。

AA用于透明度(Alpha)。 RR是红色,GG是绿色,BB是蓝色成分。这是十六进制的,因此值的范围是00到FF(255)。

您还可以参考:Why is Java able to store 0xff000000 as an int?