android颜色值的表示方法android:background="#FFFFFFFF"的意思

android颜色值的表示方法

android:background="#FFFFFFFF"的意思

Android中的颜色值是通过红(Red)、绿(Green)、蓝(Blue)三原色,以及一个透明度(Alpha)值来表示,颜色值总是以井(#)开头,接着是Alpha-Red-Green-Blue的形式。其中Alpha值可以省略,如果省略Alpha值,那么该颜色默认是不透明的。

Android颜色值一般有四种形式:

  • #RGB:分别表示红、绿、蓝三原色的值(该表示方法只支持0~F16级的颜色)来表示颜色。
  • #ARGB:分别表示透明度(只支持0~F16级的透明度)、红、绿、蓝的三原色的值该表示方法只支持0~F16级的颜色)
  • #RRGGBB:分别表示红、绿、蓝三原色的值(该表示方法只支持00~FF256级的颜色)来表示颜色。
  • #AARRGGBB:分别表示透明度(只支持00~FF256级的透明度)、红、绿、蓝三原色的值(该表示方法只支持00~FF256级的颜色)来表示颜色。

上面四种形式,ARGB都表示一个十六进制的数,其中A代表透明度,R代表红色的数值,G代表绿色的数值,B代表蓝色的数值。

下面是相关的参考资料:

6位(#000000)就是RGB值

8位(#1e000000)头两位是透明度,后6位是RGB值,00是完全透明,ff是完全不透明,比较适中的透明度值是 1e

1、使用Color类的常量,如:

   
   
   
   
  1. int color = Color.BLUE;  // 创建一个蓝色 是使用Android提供的颜色 
  2. int color = Color.RED; 
  3. int color = Color.WHITE;

2、通过ARGB构建,如:

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

其中第一个参数表示透明,0表示完全透明,255(ff)表示完全不透明;后三位分别代表RGB的值了。

3、使用XML资源文件来定义颜色

该方法扩展性好,便于修改和共享,如在values目录下创建一个color.xml:

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

定义了一个名为mycolor的颜色,在别的地方就可以通过引用mycolor来获取该颜色值,如textView定义中:

   
   
   
   
  1. android:textColor= "@drawable/mycolor" 

Java代码中可以使用ResourceManager类中的getColor来获取该颜色:

   
   
   
   
  1. int color = getResources().getColor(R.color.mycolor); 

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

说明:XML定义方法接受6位和8位两种表示法,而且开头必须是#,8位定义时前两位表示透明。

4、直接定义色值,如:

   
   
   
   
  1. android:textColor= "@drawable/mycolor" 

这种方法必须使用0x开头,而不是用我们常用的#。与方法3不一样,值也必须用8位表示 ,不接受6位的颜色表示。分组一下0x|ff|ff00ff,0x是代表颜色整数的标记,ff是表示透明度,ff00ff表示RGB颜色值。

=======================

补充一点Android布局中背景图片的设置(编辑LinearLayout):

* 可以使用纯色:android:background="@drawable/mycolor" (XML资源文件中定义的颜色)

* 也可使用图片:android:background="@drawable/bg" (需要将一个名为bg.jpg或png的图片拷贝到res/drawable-hdpi目录下)


你可能感兴趣的:(android颜色值的表示方法android:background="#FFFFFFFF"的意思)