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;