前言
duiilib是通过加载配置的xml文件渲染显示的界面,xml文件在duilib中扮演着类似衣服的角色,所有关于外表界面的各种属性全在xml文件配置,这篇文章介绍一下duilib的颜色配置。
8位16进制值表示颜色
简单示例
下面是摘自一个简单示例的一段duilib的xml,表示的是一个水平布局,包含四个元素(两个label,两个button)。
<HorizontalLayout height="30">
<Label name="labsoftname" text="名称" font="2" pos="20,10,100,30"textcolor="#FF000000" />
<Label name="labversion" text="test" font="1" pos="110,10,250,30"textcolor="#FF333333" />
<Button name="minbtn" tooltip="最小化" float="true" pos="860,10,875,25" />
<Button name="closebtn" tooltip="关闭" float="true" pos="885,10,900,25" />
</HorizontalLayout>
注意两个label的属性列表中有一个表示颜色的字段textcolor="#FF333333",#FF333333表示的是一个颜色值,看到这里就有些疑问,颜色值不是6位的16进制表示的么,类似于#DX7866,其中DX表示R值,78表示G值,66表示B值,总体来说表示一个RGB值,
各种取色器一般都是6位,那duilib为什么是8位16进制表示呢?
duilib xml颜色配置理解
还拿示例中的例子说起,#FF333333,确实是一个表示颜色的值,只不过前面两位FF表示的是透明度,后面的6位表示的是颜色值,在duilib的xml中一般是这样的 #FF+6位颜色值,构成颜色值。
即 ARGB:
A|R|G|B
透明度|红色|绿色|蓝色
透明度A(0-255,0为透明,255为不透明,中间取值表示一个可选范围)
常用颜色在线取值工具(菜鸟取色器)