Android 设置颜色不透明度

本文提供了一种将透明度的百分比数值转换为十六进制颜色值的方法,这对于前端开发中设置颜色的不透明度非常实用。通过具体的数值对照表和示例代码,展示了如何实现这一转换过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

计算方法

@Test
     fun getColorAlpha( percent:Double) {
        //percent举例0.9
        val alpha = Math.round(percent   * 255)
        //hex就是目标值
        val  hex = Integer.toHexString(alpha.toInt())
        println(hex)
        assertEquals("e6", hex)
    }

比如红色20%不透明度,#33ff0000

Android Studio中设置不透明度圆角矩形通常涉及自定义View的绘制。你可以通过覆写`onDraw()`方法来自定义View的外观,并使用`Canvas` API来绘制带有圆角的矩形并设置其Alpha值。以下是步骤: 1. 创建一个自定义View的子类,例如`TransparentRoundedRectangleView`: ```java public class TransparentRoundedRectangleView extends View { private int cornerRadius; private float alpha; // 构造函数接收圆角半径和透明度作为参数 public TransparentRoundedRectangleView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); cornerRadius = dpToPx(5); // 圆角半径,默认5dp alpha = 0.8f; // 透明度,默认80% } // 将dp转换为像素 private int dpToPx(float dp) { return (int) (dp * Resources.getSystem().getDisplayMetrics().density + 0.5f); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); // 设置画笔样式,包括颜色透明度和圆角 Paint paint = new Paint(); paint.setColor(Color.TRANSPARENT); paint.setAlpha((int) (alpha * 255)); // 阿拉伯数字转八位十六进制 paint.setStyle(Paint.Style.FILL); paint.setStrokeWidth(0); paint.setAntiAlias(true); // 提供平滑效果 // 计算矩形的实际尺寸,这里假设你有一个默认宽度和高度 int width = getWidth(); int height = getHeight(); // 绘制圆角矩形 RectF rect = new RectF(0, 0, width, height); rect.roundRadii(new float[]{cornerRadius, cornerRadius, cornerRadius, cornerRadius}); canvas.drawRoundRect(rect, cornerRadius, cornerRadius, paint); } } ``` 使用这个自定义View时,只需把它添加到布局文件中,然后调整属性如`cornerRadius`和`alpha`即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值