最全的Android 颜色透明度

 转载自文章:https://blog.csdn.net/hewuzhao/article/details/78821954

背景

开发的都知道,UI微调都是令人头痛的,尤其是颜色的微调。

如果视觉稿直接给颜色值那倒没啥,可怕的是后面还有标了透明度,而且视觉还原后发现颜色太透明了,要你透明度再调调,这才烦人。我总不能记住100个透明度的值吧。

一次计算,无数次使用,这文章,稳了。

正文

Android中的颜色值一般格式是:#AARRGGBB。AA就是透明度值(这里我只聊透明度)。

1. 透明度的计算
透明度分为256个等级,即 0 - 256,0就是透明,255就是不透明

透明度 (透明)0 –> 255(不透明) 对应着16进制 (透明)00 –> FF(不透明)

比如:50%透明度

50%也就是256的一半即128,因为是从0开始算的,所以是 127,转换成16进制就是 7F

2.献上透明度表格
注意:我这里写的是透明度值,不是不透明度值,这是两个不同的概念,注意区分。

需要不透明度值的,可以自己算:透明度值 + 不透明度值 = 100%

如果你的UI设计师给的视觉稿标注是:颜色#FFFFFF,透明度40% 。那你的计算方式应该是:

将透明度转换成不透明度。不透明度为:60%
不透明度乘以255。 我们得到结果:153
将计算结果转换成16进制。得到最终的不透明度:99
将不透明度和颜色值拼接成ARGB格式。得到最终的颜色值: #99FFFFFF
所以,你的UI设计师要的颜色是:#99FFFFFF

下面是我表格里的透明度值的计算方式是:(A:透明度; H:16进制)

255*(100% - A%) 通过计算器转为16进制 H

(ps:因为计算结果取整数,所以可能会有一个进制位的误差,比如50%的透明度值,上面“1.透明度的计算”中的计算是127,16进制为7F,这里计算是127.5,四舍五入为128,16进制为80。所以,看到这里不用惊慌,7F跟80肉眼看起来是差不多的,不用去计较)

00是完全透明(百分百透明),FF就是完全不透明

透明度16进制表示
100   %00
99    %    03
98    %05
97    %07
96    %0A
95    %0D
94   %0F
93    %12
92    %14
91    %17
90    %1A
89    %1C
88    %1E
87    %21
86    %24
85    %26
84    %29
83    %2B
82    %2E
81    %30
80    %33
79    %36
78    %38
77    %3B
76    %3D
75    %40
74    %42
73    %45
72    %47
71    %4A
70    %4D
69    %4F
68    %52
67    %54
66    %57
65    %59
64    %5C
63    %5E
62    %61
61    %63
60    %66
59    %69
58    %6B
57    %6E
56    %70
55    %73
54    %75
53    %78
52    %7A
51    %7D
50    %80
49    %82
48    %85
47    %87
46    %8A
45    %8C
44    %8F
43    %91
42   %94
41   %96
40    %99
39    %9C
38    %9E
37    %A1
36    %A3
35    %A6
34    %A8
33    %AB
32    %AD
31    %B0
30    %B3
29    %B5
28    %B8
27    %BA
26    %BD
25    %BF
24    %C2
23    %C4
22    %C7
21    %C9
20    %CC
19    %CF
18    %D1
17    %D4
16    %D6
15    %D9
14    %DB
13    %DE
12    %E0
11    %E3
10    %E6
9      %E8
8      %EB
7      %ED
6     %F0
5     %F2
4     %F5
3     %F7
2     %FA
1     %FC
0     %FF

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值