每次开发的时候,UI在设计图中标注的颜色都是类似于#FF0000(红色),这倒没什么,但是呢后面却标注了30%的透明度,这下抓狂了,透明度怎么计算?不用着急,不用你算,收藏我这篇文章即可。
颜色简介
Android中的颜色值通常遵循RGB/ARGB标准,使用时通常以“#”字符开头,以16进制表示。
常用的颜色值格式为:
RGB
-
-
-
AARRGGBB
其中,ARGB 依次代表透明度(alpha)、红色(red)、绿色(green)、蓝色(blue)。以颜色值 #FF99CC00 为例,其中,FF 是透明度,99 是红色值, CC 是绿色值, 00 是蓝色值。
透明度
- 透明度分为256阶(0-255),计算机上用16进制表示为(00-ff)。透明就是0阶,不透明就是255阶,如果50%透明就是127阶(256的一半当然是128,但因为是从0开始,所以实际上是127)。
- 透明度 和 不透明度 是两个概念, 它们加起来是1,或者100%.
- ARGB 中的透明度alpha,表示的是不透明度。
如何换算
UI给出的颜色是#FFFFFF,透明度为40%。
换算过程:
- 将透明度转换成不透明度(转换方式参考“透明度”,第2条) 。不透明度为60%
- 不透明度乘以255。 我们得到结果:153
- 将计算结果转换成16进制。得到最终的不透明度:99
- 将不透明度和颜色值拼接成ARGB格式。得到最终的颜色值: #99FFFFFF
干货
我知道大家都在等最终的结果,肯定不会去自己算的,那就来点实际吧
透明度 十六进制 100% FF 99% FC 98% FA 97% F7 96% F5 95% F2 94% F0 93% ED 92% EB 91% E8 90% E6 89% E3 88% E0 87% DE 86% DB 85% D9 84% D6 83% D4 82% D1 81% CF 80% CC 79% C9 78% C7 77% C4 76% C2 75% BF 74% BD 73% BA 72% B8 71% B5 70% B3 69% B0 68% AD 67% AB 66% A8 65% A6 64% A3 63% A1 62% 9E 61% 9C 60% 99 59% 96 57% 94 56% 91 56% 8F 55% 8C 54% 8A 53% 87 52% 85 51% 82 50% 80 49% 7D 48% 7A 47% 78 46% 75 45% 73 44% 70 43% 6E 42% 6B 41% 69 40% 66 39% 63 38% 61 37% 5E 36% 5C 35% 59 34% 57 33% 54 32% 52 31% 4F 30% 4D 28% 4A 28% 47 27% 45 26% 42 25% 40 24% 3D 23% 3B 22% 38 21% 36 20% 33 19% 30 18% 2E 17% 2B 16% 29 15% 26 14% 24 13% 21 12% 1F 11% 1C 10% 1A 9% 17 8% 14 7% 12 6% 0F 5% 0D 4% 0A 3% 08 2% 05 1% 03 0% 00 说明:如果UI给出16进制的颜色值,那么透明度就按照上面的表格对应,将对应的透明度的16进制添加值UI给定的颜色值前,即可大功告成!!!还是说个例子吧,免得不理解.
例子:
UI给出的颜色值为#FF0000,透明度30%。
结合上表,30%的透明度16进制的值为 B3,那么最终的颜色值为 #B3FF0000.