陈斌彬的技术博客

Stay foolish,stay hungry

Android中的color使用总结

颜色分类:

1.系统颜色

android内置的颜色,比如系统资源中定义的颜色,有以下几个: BLACK(黑色),BLUE(蓝色),CYAN(青色),GRAY(灰色),GREEN(绿色),RED(红色),WRITE(白色),YELLOW(黄色)等 当然android的android.graphics.Color也提供了构造自定义颜色的静态方法

系统颜色的使用 ①在Java代码直接设置

Button btn = (Button) findViewById(R.id.btn);
    btn.setBackgroundColor(Color.BLUE);

当然你也可以获取系统颜色后再设置:

int getcolor = Resources.getSystem().getColor(android.R.color.holo_green_light);
    Button btn = (Button) findViewById(R.id.btn);
    btn.setBackgroundColor(getcolor);

②在布局文件中使用

2.自定义颜色

颜色值的定义是由透明度alpha和RGB(红绿蓝)三原色来定义的, 以“#”开始,后面依次为:透明度-红-绿-蓝 eg:#RGB #ARGB #RRGGBB #AARRGGBB 而我们最常使用的就是后面两种 自定义颜色的使用:

①直接在xml文件中使用:

当然你也可以在res/values目录下,新建一个color.xml文件,为你自己指定的颜色起一个名字 这样,在需要的时候就可以根据name直接使用自定义的颜色

<!--?xml version=1.0 encoding=utf-8?-->
<resources>
    <color name="mycolor">#748751</color>
</resources>

②在Java代码中使用:

如果是在res中已经定义好该自定义颜色,在java代码中只需直接调用即可:

int mycolor = getResources().getColor(R.color.mycolor);
    Button btn = (Button) findViewById(R.id.btn);
    btn.setBackgroundColor(mycolor);

如果是直接在java代码中定义,这里要注意哦,透明度不可以省去哦!!!就像这样 0xFF080287,前面的0x代表16进制:

int mycolor = 0xff123456;
    Button btn = (Button) findViewById(R.id.btn);
    btn.setBackgroundColor(mycolor);

③利用静态方法argb来设置颜色:

Button btn = (Button) findViewById(R.id.btn);
    btn.setBackgroundColor(Color.argb(0xff, 0x00, 0x00, 0x00));

argb()方法的参数依次为透明度,红,绿,蓝的大小,可以理解为浓度,这里组合起来的就是白色