一悬而、顏色介紹
1呜舒、Android中的顏色模式
顏色模式 | 介紹 |
---|---|
ARGB_8888 | 四通道(32bits) |
ARGB_4444 | 四通道(16bits) |
Alpha_8 | 僅有透明通道(8bits) |
RGB_565 | R通道為5位,G通道6位笨奠,B通道5位(16bits) 袭蝗,沒有透明度 |
字母表示通道類型:Alpha(透明度)、R(紅)般婆、G(綠)到腥、B(藍(lán))
數(shù)值表示該類型用多少位二進(jìn)制來描述:如ARGB_8888表示每個(gè)通道占用8個(gè)二進(jìn)制位(8bits)
2、A蔚袍、R乡范、G、B取值范圍
A、R晋辆、G渠脉、B的取值范圍均為0到255,也就是16進(jìn)制的0x00~0xff
A 從0x00到0xff表示從透明到不透明
R瓶佳、G连舍、B從0x00到0xff表示顏色從淺到深
二、顏色的定義與使用
1涩哟、Color類
在原生的android.graphics包下索赏,有一個(gè)顏色類:Color,在這個(gè)類中贴彼,定義了一些顏色值的成員變量潜腻,我們可以直接使用這些顏色值:
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 中定義我們的顏色值:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="red">#ff0000</color>
<color name="green">#00ff00</color>
<color name="blue">#0000ff</color>
</resources>
xml中定義顏色有以下幾種方式:
定義顏色以#開頭,后面跟十六進(jìn)制的值
#f00 //低精度 - 不帶透明通道
#af00 //低精度 - 帶透明通道
#ff0000 //高精度 - 不帶透明通道
#aaff0000 //高精度 - 帶透明通道
使用:
例:給TextView的字體設(shè)置顏色
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的靜態(tài)方法:parseColor()解析一個(gè)顏色值字符串
TextView.setTextColor(Color.parseColor("#ff0000ff"));
如果你知道ARGB的取值精钮,那么可以使用Color類的靜態(tài)方法rgb()威鹿、argb()創(chuàng)建一個(gè)顏色值:
int blue = Color.argb(255,0,0,255);
TextView.setTextColor(blue);