前言
本章是对设计给出的颜色做透明度的处理
原因
一般情况下我们是不需要做处理的,那为什么又需要我们做透明度呢,原因就是咱们的设计小哥哥、小姐姐们没有自己做处理,如果处理了的话,我们直接使用设计标注的AHEX颜色就行,但是也有可能是设计软件上传后的BUG导致颜色透明度没处理,此时就需要我们根据对应标注的透明度自己换算。
上图就是一简单的案例,我问了设计小姐姐为什么上面标注了透明度为啥下面的颜色没有对应的改变,设计小姐姐给我的回复是做处理了但是不知道上传后就成这样了,因此为了省时间我就自己处理了。
实践
设置背景透明度有两种方法:
方法一:代码设置
// LinearLayout背景设置透明度75%
dingRelPhoneOneLogin.getBackground().setAlpha(191);// 透明度设为75%
这个参数范围为0-255,透明度 = 255*比例
控件必须先设置背景颜色或者drawable,否则会报错。
这种方法合适设置整个控件的透明度
方法二:修改颜色,直接在XML中设置
Android颜色十六进制,RGB模式为6位,加上2位透明度就是8位。6位颜色默认透明度为FF(不透明)。
下面以75% 透明度为例子说明:
- 75%转换成10进制 75%*255=191.25(四舍五入191)
- 191转化为16进制 191----BF
此时我们得到了75%的透明度十六进制,为BF,和刚才需求给我们的背景颜色组合,组成8位的十六进制代码为#BFFFFFFF。
下面是一个透明度和十六进制转换表:
100% — FF
99% —- FC
98% —- FA
97% —- F7
96% —- F5
95% —- F2
94% —- F0
93% —- ED
92% —- EB
91% —- E8
90% —- E6
89% —- E3
88% —- E0
87% —- DE
86% —- DB
85% —- D9
84% —- D6
83% —- D4
82% —- D1
81% —- CF
80% —- CC
79% —- C9
78% —- C7
77% —- C4
76% —- C2
75% —- BF
74% —- BD
73% —- BA
72% —- B8
71% —- B5
70% —- B3
69% —- B0
68% —- AD
67% —- AB
66% —- A8
65% —- A6
64% —- A3
63% —- A1
62% —- 9E
61% —- 9C
60% —- 99
59% —- 96
58% —- 94
57% —- 91
56% —- 8F
55% —- 8C
54% —- 8A
53% —- 87
52% —- 85
51% —- 82
50% —- 80
49% —- 7D
48% —- 7A
47% —- 78
46% —- 75
45% —- 73
44% —- 70
43% —- 6E
42% —- 6B
41% —- 69
40% —- 66
39% —- 63
38% —- 61
37% —- 5E
36% —- 5C
35% —- 59
34% —- 57
33% —- 54
32% —- 52
31% —- 4F
30% —- 4D
29% —- 4A
28% —- 47
27% —- 45
26% —- 42
25% —- 40
24% —- 3D
23% —- 3B
22% —- 38
21% —- 36
20% —- 33
19% —- 30
18% —- 2E
17% —- 2B
16% —- 29
15% —- 26
14% —- 24
13% —- 21
12% —- 1F
11% —- 1C
10% —- 1A
9% —- 17
8% —- 14
7% —- 12
6% —- 0F
5% —- 0D
4% —- 0A
3% —- 08
2% —- 05
1% —- 03
0% —- 00