Android中颜色值定义的一般格式是:#AARRGGBB。可以看到颜色定义共分为4部分,每一部分都是一个十六进制数据,取值范围都是0~255,对应00~FF。其中AA(亦即alpha)表示透明度值;RR(亦即red)表示红色值;GG(亦即green)表示绿色值;BB(亦即blue)表示蓝色值。
在实际开发中,经常会有某个控件的颜色需要半透明效果,而且UI设计上往往标注的是百分比透明度。该如何计算出实际的透明度数值呢?例如透明度为x%,计算公式为:256*x%。
因为透明度分为256个等级,0是完全透明,255是完全不透明。计算出的数值转换为十六进制,如果不足两位就以0补位。如果出现除不尽的情况,就四舍五入或者只保留整数部分。
比如:
90%透明度为230,转换为十六进制为E6。
80%透明度为205,转换为十六进制为CD。
70%透明度为179,转换为十六进制为B3。
60%透明度为154,转换为十六进制为9A。
50%透明度为128,转换为十六进制为80。
40%透明度为102,转换为十六进制为66。
30%透明度为77,转换为十六进制为4D。
20%透明度为51,转换为十六进制为33。
10%透明度为26,转换为十六进制为1A。
5%透明度为13,转换为十六进制为0D。