ARGB与RGBA

一、写在前面的废话

今天在rn中调整一个view的backgroudColor时,想设置透明度适中的色值,按照Android原生代码的习惯写成’#77000000’。这种写法在Android项目的xml文件中是没问题的,但是放在js文件的Style中就是不起作用,查了一下,色值有argb和rgba两种格式。

二、ARGB

在Android中颜色值通常遵循RGB/ARGB的标准,以“#”开头,以16进制表示,常用的格式为

1
2
3
4
#RGB
#RRGGBB
#ARGB
#AARRGGBB

上面四个字母都很容易理解,分别是Alpha,Red,Green,Blue。透明度分为256阶(0-255),计算机上用16进制表示为(00-ff)。透明就是0阶,不透明就是255阶,如果50%透明就是127阶。

三、RGBA

这四个字母的意思跟上面讲的完全一样,只是透明度放到了最后。粗略的查了一下,RGBA是CSS3标准(这属于前端的知识范畴了,有机会再去学习)新增的,CSS2中色彩模式只有RGB色彩模式和十六进制模式。

我个人理解,这两种格式只是顺序上不同,应用于不同的编程语言中。需要记住,react native中是将表示透明度的两位十六进制数放在最后。

0%