美文网首页
Graphics2D API:Color类、Android中的颜

Graphics2D API:Color类、Android中的颜

作者: 滴滴滴9527 | 来源:发表于2017-08-06 20:15 被阅读0次

    一、颜色介绍

    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);
    

    相关文章

      网友评论

          本文标题:Graphics2D API:Color类、Android中的颜

          本文链接:https://www.haomeiwen.com/subject/gcxvlxtx.html