欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  技术分享

Android在代码中创建颜色_RGB与int型颜色互转

程序员文章站 2022-02-16 11:55:55
...

一、Android Color介绍

Android中使用4个数字来表示颜色、分别是alpha、红(red)、绿(green)、蓝(blue)四个颜色值(ARGB)、每个数字取值0-255、因此一个颜色可以用一个整数来表示、为了运行效率、Android编码时用整数Color类实例来表示颜色

红、绿、蓝三个值是就是代表颜色的取值、而Alpha代表的是透明度、最低值为0、表示颜色完全透明、而此时RGB是什么取值都不重要了、Alpha最高可取值为255、表示颜色完全不透明、如果需要颜色透明、半透明、那么可以取值0-255中间的一些值、这常常用在前端图层绘制时、下面就提供几种创建颜色的方法和RGB与int型颜色互转


二、Android Color颜色创建代码

1、使用Color类的常量

Int color = Color.BULE;  // 创建一个蓝色


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

Int color = Color.argb(127,255,0,255);// 半透明的紫色


3、使用XML资源文件来表示颜色、这是一个扩展性比较好的方式、便于今后可以方便的修改颜色值

<?xml version=”1.0” encoding=”utf-8”>
<resources>
    <color name=”mycolor”>#7fff00ff</color>
</resources>


定义了一个名为mycolor颜色、在别的地方就可以引用mycolor来获取该颜色值、可以使用ResourceManager类中的getColor来获取该颜色、Java样例代码如下

Int color = getResources().getColor(R.color.mycolor);


这与第二种方法得到的值是一样的、getResources()方法返回当前活动Activity的ResourceManager类实例


三、RGB与int型颜色互转

1、将RGB颜色转化为int

int color = Color.rgb(red, green, blue);

2、将int颜色转化为RGB

int color = -4253158;  
int red = (color & 0xff0000) >> 16;  
int green = (color & 0x00ff00) >> 8;  
int blue = (color & 0x0000ff); 
String rgbColor = red + "," + green + "," + blue;