这是一篇引用,因为我发现很多地方都包含这部分内容,把这部分内容进行抽离,在需要的地方直接引用这部分内容,同时像这样的内容也会根据我的知识也会累增。
1. 使用 RGB 模式
rgb 模式,所谓 rgb ,也就是 red green blue
(红绿蓝) 这三种颜色的简写,也简称三原色,使用十六进制表示,也就是值的范围是 0-f
,其中一项如果为 0 ,那么代表没有这种颜色;如果是 f ,那么代表这个颜色百分之百占比;如:
#f00
代表红色#0f0
代表绿色#00f
代表蓝色#f00
代表黄色
这种方式属于 色光加色法 的范畴,这也是为啥 #000
的时候是黑色,因为没有任何光线,固然就是黑色了。一般这种方式只是自己测试的时候会用,在工作中很少会直接这样拼,除非没有设计啥的。
2. 使用 RRGGBB 模式
这种跟上面是相同的含义,就是取值范围变成了 00-ff
,这种能表示更多的颜色;下面列举几种常见的颜色:
#ff0000
红色#00ff00
绿色#0000ff
蓝色 这里提供一个可以拿到自己对应颜色十六进制值的网站: htmlcolorcodes 。
3. 使用 AARRGGBB 模式
这个跟上面不同的是多了 AA ,这里的 AA 是透明度,值的范围是 00-ff
,但是一般情况下 UI 给的设计图都是百分比,像这样:
我们发现即便我们切换对应的十六进制方式也是显示的是 FF
,其实我们知道这里不是百分之百,正确做法是像下面那样:
透明度的百分比在颜色所对应的右边,这个时候你选择 AHEX
模式发现就正常了。但是如果你设置的颜色值支持 rrggbbaa
模式,那么两种都是很 OK 的了。
4. 使用 RRGGBBAA 十进制模式
这个时候一般设置的值是下面的格式: rgba(RR, GG, BB, AA)
,只不过这里是使用十进制表示的,取值的范围是: 0-256
;其中 AA 的取值范围为: 0.0-1.0
浮点型。例如:
rgba(255, 0, 0, 0)
红色rgba(0, 255, 0, 0.5)
有一半透明度的绿色
5. 在 colors.xml
中定义,然后引入
在 android 的开发过程中,一般都会把颜色统一放到对应的 colors.xml
文件中,然后在需要的地方引入即可;首先找到项目中的 colors.xml
文件,在 模块 > res > values
下,定义的格式如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="orangeRed">#f45321</color>
</resources>
其中颜色值遵循上面的 1,2,3 条。然后在使用的地方使用即可,如果使用的地方是 xml 文件,那么就可以这样 android:textColor="@color/orangeRed"
;如果是在代码中则可以使用 R.color.orangeRed
。