Android颜色值(#AARRGGBB)透明度百分比和十六进制对应关系以及计算方法

我的Android进阶之旅——>Android颜色值(RGB)所支持的四种常见形式
透明度百分比和十六进制对应关系表格
透明度    十六进制
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
57%    94
56%    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
28%    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
透明度百分比和十六进制对应关系计算方法
    @Test
    public void rgba() throws Exception {
        System.out.println("透明度 | 十六进制");
        System.out.println("---- | ----");
        for (double i = 1; i >= 0; i -= 0.01) {
            i = Math.round(i * 100) / 100.0d;
            int alpha = (int) Math.round(i * 255);
            String hex = Integer.toHexString(alpha).toUpperCase();
            if (hex.length() == 1) hex = "0" + hex;
            int percent = (int) (i * 100);
            System.out.println(String.format("%d%% | %s", percent, hex));
        }
    }

运行结果如下所示:

透明度 | 十六进制
---- | ----
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
57% | 94
56% | 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
28% | 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
--------------------- 
作者:欧阳鹏 
来源:CSDN 
原文:https://blog.csdn.net/ouyang_peng/article/details/51896521 
版权声明:本文为博主原创文章,转载请附上博文链接!

<think>好的,我需要处理用户关于透明度百分比计算方法或实现方式的询问。首先,用户提供了三个引用资料,我需要仔细阅读并理解这些资料中的内容,确保回答准确。 首先,引用[1]提到Android颜色值的格式是#AARRGGBB,其中AA代表透明度,通过百分比十六进制对应计算方法可能涉及将百分比转换为对应十六进制值。例如,100%对应FF,0%对应00。需要解释如何转换。 引用[2]指出透明度在XML中使用8位数值,前两位是透明度,后六位是RGB。同时说明透明度的范围是0~255(十六进制00~ff),值越小越透明。这里需要强调十六进制百分比之间的转换关系,并给出例子。 引用[3]提到了圆环百分比的实现方式,可能涉及UI组件如自定义View或Canvas绘制。虽然用户的问题主要是计算方法,但实现方式部分也需要简要提及,比如如何使用透明度在圆环中表示进度。 接下来,我需要将这些信息结构化。首先介绍透明度百分比的基本概念,然后详细说明计算方法,包括百分比十六进制反向转换。然后,给出实际应用中的实现方式,比如在Android中的代码示例或XML中的使用。最后,结合引用资料中的例子,确保引用标识正确添加。 需要注意的是,用户可能对如何具体应用在编程或设计中感兴趣,所以需要提供代码示例实际应用场景。同时,保持回答清晰,分点说明,便于用户理解。 现在需要检查是否有遗漏的信息,比如转换公式是否正确,例子是否恰当。例如,50%透明度对应十六进制的80,因为255的一半是127.5,四舍五入为128,对应十六进制的80。这点需要验证是否正确。 另外,在实现方式部分,可能需要提到使用自定义View、Canvas绘制或第三方库,如引用[3]中的圆环百分比。同时,颜色值的正确格式在代码中如何体现,比如在Android中使用#80000000表示50%透明的黑色。 最后,确保每个引用的来源在回答末尾正确标注,例如[^1]、[^2]、[^3],并且引用标识自然地出现在相关段落末尾。</think>关于透明度百分比计算方法及应用,以下是详细说明: ### 一、透明度百分比基础概念 1. **颜色格式定义** Android系统中颜色值采用$#AARRGGBB$格式,其中: - $AA$:透明度(Alpha通道) - $RRGGBB$:红绿蓝三原色 *例如:$#80FF0000$表示50%透明度的红色*。 2. **透明度取值范围** - **十进制**:0(完全透明)~255(完全不透明) - **十六进制**:00(0%)~FF(100%)。 ### 二、透明度百分比计算方法 1. **百分比十六进制** 公式: $$\text{Alpha十六进制} = \text{round}(百分比 \times 255) \to \text{转两位十六进制}$$ 例如: - 50%透明度 → $0.5 \times 255 = 127.5 \approx 128$ → 十六进制为$80$[^1]。 - 20%透明度 → $0.2 \times 255 = 51$ → 十六进制为$33$。 2. **十六进制百分比** 公式: $$\text{百分比} = \frac{\text{Alpha十进制}}{255} \times 100\%$$ 例如: - $CC$ → 十进制204 → $204/255 \approx 80\%$不透明度。 ### 三、实现方式 1. **Android XML中直接定义** 在布局文件中设置带透明度颜色: ```xml <View android:background="#80FF0000"/> <!-- 50%透明的红色 --> ``` 2. **代码中动态计算** Java/Kotlin示例: ```kotlin val alpha = (0.5 * 255).toInt() // 计算50%透明度对应的十进制值 val color = Color.argb(alpha, 255, 0, 0) // 生成半透明红色 ``` 3. **圆环进度条等UI组件** 通过Canvas绘制时,动态调整Alpha通道实现渐变效果。例如: ```kotlin paint.color = Color.argb(progress, 255, 0, 0) // progress为0~255的透明度值 ``` 此方法常用于进度指示器或数据可视化图表。 ### 四、应用场景 1. **界面元素叠加**:半透明遮罩层、弹窗背景。 2. **动态效果**:渐隐渐现动画、加载进度提示。 3. **数据可视化**:圆环百分比图表(如优惠券剩余量)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值