在Android中通常用6为十六进制数表示一个颜色,比如下面这个表示黑色:
<color name="c">#000000</color>
通过在前面加两位十六进制来表示当前颜色的透明度,比如:
<color name="c">#FF000000</color>
00表示100%透明,FF表示不透明。
那么怎么表示一个百分之十六透明度的黑色呢?
百分制从高到低表示透明度的范围:100%到0%(或者从1到0)
十六进制从高到低表示透明度的范围:00到FF(或者从0到255)
可以看到百分制和十六进制表示颜色的取值互相反的,即百分制100表示完全透明,而十六进制00表示完全透明,所以要先求出百分之十六对应的"不透明度",即100% - 16% = 84%,然后用FF(也就是255)乘以84%(也就是0.84)可以得到214,转化为十六进制就是D6。
所以用十六进制表示透明度为百分之十六的黑色为:
<color name="c">#D6000000</color>
其他透明度的求发类似。