颜色表示

748 阅读2分钟

这是一篇引用,因为我发现很多地方都包含这部分内容,把这部分内容进行抽离,在需要的地方直接引用这部分内容,同时像这样的内容也会根据我的知识也会累增。

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 给的设计图都是百分比,像这样:

image.png 我们发现即便我们切换对应的十六进制方式也是显示的是 FF ,其实我们知道这里不是百分之百,正确做法是像下面那样:

image.png 透明度的百分比在颜色所对应的右边,这个时候你选择 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