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 中定义我们的颜色值:

<?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中定义颜色有以下几种方式:

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

#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);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文介绍安卓中的颜色相关内容,包括颜色的定义,创建颜色的几种方式,以及颜色的混合模式等。 简单介绍颜色 安卓支持的...
    李庆雪阅读 1,869评论 0 2
  • 颜色 简要介绍安卓中的颜色相关内容,包括颜色的定义,创建颜色的几种方式,以及颜色的混合模式等。 一.简单介绍颜色 ...
    EsonJack阅读 3,115评论 0 3
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,829评论 25 708
  • 通过第一阶段的学习的基础准备这两天我们所分享的知识点都是做微商实操的知识,真的是受益匪浅!不学习就好比是大海上迷失...
    王永热爱生活阅读 316评论 0 0
  • 看完了《三生三世十里桃花》,这是过完年来看的第一部剧,奇幻剧里可以用生命的无限长看到各种可能性,即使生命长久,有爱...
    嘉小鲜阅读 180评论 0 0