Android 颜色和颜色透明度列表

Android使用ARGB或RGB表示颜色,可以在colors.xml中通过“#”+ARGB或“#”+RGB的形式定义颜色,也可以在java代码中使用Color.argb()或Color.rgb()定义颜色,还能直接在代码里使用十六进制数表示颜色。颜色还能使用Android自带颜色拾掇器或颜色选择器来设置。有时需要查询透明度列表。本文将介绍简略介绍如上所述的情况。
1.ARGB和RGB
2.AndroidStudio的颜色调整工具
3.使用java代码定义颜色
4.十六进制透明度对照列表

1.ARGB和RGB

Android通常可以采用一位或两位的十六进制的ARGB或RGB形式,表示颜色
RGB代表三原色:红(R 即Red)、绿(G即Green)、蓝(B 即Blue)
ARGB:在RGB基础上添加 透明度(A 即Alpha),这个值越小,越透明,可以理解为在RGB的色值基础上乘以一个“A的最大值分之A”
在这些字母缩写代表的十六进制数之前需要一个“#”
之上的每一个字母缩写,都使用两位十六进制或一位十六进制表示(如果代表一位十六进制,则所有字母都代表一位十六进制;如果代表两位十六进制,则所有字母都代表两位十六进制,并且如果实际是一位数需要加一位0,例如0就要写作00)。每个字母的数值大小,代表这个颜色的色值或透明度,可以从0到F(也就是十六进制的15)或者从00到FF(也就是十六进制的255)。不区分大小写。
以白色和无色(完全透明)为例举例:

十六进制颜色码 解释
#fff 纯白色。这是RGB表示的颜色,使用一位十六进制:R值为f(红色值最大),G值为f(绿色值最大),B值为f(蓝色值最大)
#ffff 纯白色。这是ARGB表示的颜色,使用一位十六进制:A值为最大(完全不透明),R值为f(红色值最大),G值为f(绿色值最大),B值为f(蓝色值最大)
#0fff 完全透明(无色)。这是ARGB颜色的颜色,使用一位十六进制:A值为最小(完全透明),R值为f(红色值最大),G值为f(绿色值最大),B值为f(蓝色值最大)
#ffffff 纯白色。这是RGB颜色的颜色,使用两位十六进制:R值为ff(红色值最大),G值为ff(绿色值最大),B值为ff(蓝色值最大)
#00ffffff 完全透明(无色),这是ARGB表示的颜色,使用两位十六进制:A值为00(注意这里,必须是两位)(完全透明),R值为ff(红色值最大),G值为ff(绿色值最大),B值为ff(蓝色值最大)

一般都采用两位十六进制的方法表示颜色,而一位十六进制只能在colors.xml文件中定义颜色
其实讲ARGB和RGB都是不准确的。下面是官方原话,但是只需要使用而不深究的话,知道ARGB和RGB即可。
A color int always defines a color in the sRGB color space using 4 components packed in a single 32 bit integer valu

2.AndroidStudio的颜色调整工具

AndroidStudio是自带颜色拾掇器(不包含透明度)的,而且也能在使用十六进制表示颜色的地方,通过点击代码编辑区域左侧的颜色,弹出颜色修改器(包含透明度修改)的。这里演示一下:
1.颜色修改器(包含透明度修改AndroidStudio 3.1.3)
在如图所示的位置圈出的三个有色方形,点击任意一个即可改变颜色。(这里也可以看出规范的方法是两位十六进制而不是一位十六进制)弹出的方框最下一个可左右移动的三角形调整透明度,之上一个是调整RGB色色值的,左上的笔抓装图标点击后,可以拾取颜色
这里写图片描述
2.设置快捷键,打开颜色拾掇器(不包含透明度修改)
可以设置一个快捷键去打开一个没有透明度选项的颜色拾掇器
打开androidstudio -> ctrl+alt+s 如下图操作 -> (从上往下的圈,右击show color picker) -> 按照自己习惯加快捷键(例如我是alt+=),不要与原有的冲突
这里写图片描述
现在,只要我同时按alt和等号,就能打开如下窗口,去拾掇颜色或调整颜色
这里写图片描述

3.使用java代码定义颜色

1.先介绍一下比较常用的使用十进制或使用颜色资源设置颜色
使用RGB定义颜色的 Color.rgb()
使用ARGB定义颜色的Color.argb()
如下代码展示了他们的用法,参数值只能在0到255(十进制),圈出来的就是错误的256
这里写图片描述
还有为了避开一些问题,使用颜色资源时,建议像上图一样使用ActivityCompat.getColor()获取颜色资源,而不是context.getColor()(支持最小Api为23)
2.java中使用十六进制
java代码里面是比较少这样做,如下便是android.graphics.Color中定义的全部颜色,也可以直接使用。在java代码里,的颜色定义就使用的是二位十六进制,并且必须是ARGB形式

    @ColorInt public static final int BLACK       = 0xFF000000;
    @ColorInt public static final int DKGRAY      = 0xFF444444;//深灰色
    @ColorInt public static final int GRAY        = 0xFF888888;
    @ColorInt public static final int LTGRAY      = 0xFFCCCCCC;//浅灰色
    @ColorInt public static final int WHITE       = 0xFFFFFFFF;
    @ColorInt public static final int RED         = 0xFFFF0000;
    @ColorInt public static final int GREEN       = 0xFF00FF00;
    @ColorInt public static final int BLUE        = 0xFF0000FF;
    @ColorInt public static final int YELLOW      = 0xFFFFFF00;
    @ColorInt public static final int CYAN        = 0xFF00FFFF;//青色
    @ColorInt public static final int MAGENTA     = 0xFFFF00FF;//品红

4.十六进制透明度对照列表

下表来自:https://www.jianshu.com/p/53e656f11116
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

猜你喜欢

转载自blog.csdn.net/htwhtw123/article/details/80961972