在Android设置Color的时候,UI经常给的是rrggbb的格式,但是一般还给了一句话,例如:透明度30%,
也就是需要使用 aarrggbb的格式,
aa部分取值范围是 :00-ff 这个是16进制表示的,换成十进制的就是0-255
现在UI说我需要#000000(这是一种黑色的颜色值) 需要45%的不透明度,
怎么换算,其实就是先把45%的十进制计算出来,然后换成16进制,好像是73,
具体过程自己换成,
实际使用的颜色值就是 #73000000
当然有时候,我们可能会在透明度和不透明度之间纠结,比如UI说 30%不透明,什么个鬼,30%不透明到底是多少啊,
我们知道ff代表完全不透明,00代表全部透明,
也就是从0-255代表的是一个透明值,只是值越大越不透明,
那么你需要30%不透明,也就是说70%是透明的,
如果画一个线,这个值肯定离 透明那端 近对不对,离不透明那端远 对不对,因为你100%不透明,就到ff了那端了,30%还隔好远呢,是不是
那就理解了,
30%不透明,就是离ff那个值远,我们就30%*255 就是UI要求的值,
30%透明,就是离00那个值近,我们就(1-30%)*255就是UI要求的值。
其实这个转换真的很恶心,UI你就不能给个aarrggbb的格式吗,