在Android中,颜色值由透明度alpha和RGB(红、绿、蓝)三原色定义,有八位十六进制数与六位十六进制数两种编码,例如
八位编码FFEEDDCC,FF表示透明度,EE表示红色的浓度,DD表示绿色的浓度,CC表示蓝色的浓度。
透明度为FF表示完全不透明,为00表示完全透明。
RGB三色的数值越大颜色越浓也就越亮,数值越小颜色越暗。
亮到极致就是白色,暗到极致就是黑色。
六位十六进制编码有两种情况,在XML文件中默认不透明(透明度为FF),在代码中默认透明(透明度为00)。
下面的代码分别给两个文本控件设置六位编码和八位编码的背景色。
// 从布局文件中获取名叫tv_code_six的文本视图
TextView tv_code_six = findViewById(R.id.tv_code_six);
// 给文本视图tv_code_six设置背景为透明的绿色,透明就是看不到
tv_code_six.setBackgroundColor(0x00ff00);
// 从布局文件中获取名叫tv_code_eight的文本视图
TextView tv_code_eight = findViewById(R.id.tv_code_eight);
// 给文本视图tv_code_eight设置背景为不透明的绿色,即正常的绿色
tv_code_eight.setBackgroundColor(0xff00ff00);
在Android中使用颜色有下列3种方式:
1. 使用系统已定义的颜色常量
BLACK 黑色
GREEN 绿色
BLUE 蓝色
YELLOW 黄色
CYAN 青色
MAGENTA玫红
DKGRAY 深灰
GRAY 灰色
LTGRAY 浅灰
WHITE 白色
RED 红色
TRANSPARENT 透明
2. 使用十六进制的颜色编码
如:"00ff00"
3. 使用colors.xml中定义的颜色
res/values目录下有个colors.xml文件,是颜色常量的定义文件。如果要在布局文件中使用XML颜色常
量,可引用“@color/常量名”;如果要在代码中使用XML颜色常量,可通过这行代码获取:
getResources().getColor(R.color.常量名)