Android中的顏色值通常遵循RGB/ARGB標準,使用時通常以“#”字符開頭,以16進制表示。
其中,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
干貨
我知道大家都在等最終的結果,肯定不會去自己算的,那就來點實際吧
透明度 | 16進制表示 |
---|---|
100% | 00 |
95 % | 0D |
90 % | 1A |
85 % | 26 |
80 % | 33 |
75 % | 40 |
70 % | 4D |
65 % | 59 |
60 % | 66 |
55 % | 73 |
50 % | 80 |
45 % | 8C |
40 % | 99 |
35 % | A6 |
30 % | B3 |
25 % | BF |
20 % | CC |
15 % | D9 |
10 % | E6 |
5 % | F2 |
0 % | FF |
說明:如果UI給出16進制的顏色值,那么透明度就按照上面的表格對應,將對應的透明度的16進制添加值UI給定的顏色值前,即可大功告成!!!還是說個例子吧,免得不理解.
例子:
UI給出的顏色值為#FF0000,透明度30%。
結合上表,30%的透明度16進制的值為 B3,那么最終的顏色值為 #B3FF0000.
網絡轉載