Graphics2D API:Color类、Android中的颜色

一、颜色介绍

1、Android中的颜色模式
颜色模式 介绍
ARGB_8888 四通道(32bits)
ARGB_4444 四通道(16bits)
Alpha_8 仅有透明通道(8bits)
RGB_565 R通道为5位,G通道6位,B通道5位(16bits) ,没有透明度

字母表示通道类型:Alpha(透明度)、R(红)、G(绿)、B(蓝)

数值表示该类型用多少位二进制来描述:如ARGB_8888表示每个通道占用8个二进制位(8bits)

2、A、R、G、B取值范围

A、R、G、B的取值范围均为0到255,也就是16进制的0x00~0xff

A 从0x00到0xff表示从透明到不透明
R、G、B从0x00到0xff表示颜色从浅到深

二、颜色的定义与使用

1、Color类

在原生的android.graphics包下,有一个颜色类:Color,在这个类中,定义了一些颜色值的成员变量,我们可以直接使用这些颜色值:

public class Color {
       public static final int BLACK       = 0xFF000000;
       public static final int DKGRAY      = 0xFF444444;
       public static final int GRAY        = 0xFF888888;
       public static final int LTGRAY      = 0xFFCCCCCC;
       public static final int WHITE       = 0xFFFFFFFF;
       public static final int RED         = 0xFFFF0000;
       public static final int GREEN       = 0xFF00FF00;
       public static final int BLUE        = 0xFF0000FF;
       public static final int YELLOW      = 0xFFFFFF00;
       public static final int CYAN        = 0xFF00FFFF;
       public static final int MAGENTA     = 0xFFFF00FF;
       public static final int TRANSPARENT = 0;
......
}
2、自己定义颜色并使用

Color 类中定义的颜色有限,肯定满足不了我们的需求,所以就需要我们自己定义颜色值了.

1) xml中定义颜色

在res/values/colors.xml 中定义我们的颜色值:




    #ff0000
    #00ff00
    #0000ff



xml中定义颜色有以下几种方式:

定义颜色以#开头,后面跟十六进制的值

#f00            //低精度 - 不带透明通道
#af00           //低精度 - 带透明通道

#ff0000         //高精度 - 不带透明通道
#aaff0000       //高精度 - 带透明通道

使用:

例:给TextView的字体设置颜色

xml中使用:
android:textColor="@color/blue"

java代码中使用:
setTextColor(Context.getResources().getColor(R.color.blue));

在布局文件中直接使用颜色值也是可以的:android:textColor="#0000ff"

2) java代码中定义颜色

直接在代码中使用int类型颜色值:

int blue = 0xff0000ff;
TextView.setTextColor(blue);

利用Color的静态方法:parseColor()解析一个颜色值字符串

TextView.setTextColor(Color.parseColor("#ff0000ff"));

如果你知道ARGB的取值,那么可以使用Color类的静态方法rgb()、argb()创建一个颜色值:

int blue = Color.argb(255,0,0,255);
TextView.setTextColor(blue);

你可能感兴趣的:(Graphics2D API:Color类、Android中的颜色)