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. intcolor=Color.BLUE;//创建一个蓝色是使用Android提供的颜色
  2. intcolor=Color.RED;
  3. intcolor=Color.WHITE;

2、通过ARGB构建,如:

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

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

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

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

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

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

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

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

            
  1. intcolor=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目录下)


更多相关文章

  1. 获取Android SDK 源代码并在Eclipse中关联查看的方法(for sdk2.3
  2. 【Android UI】Android颜色系大全
  3. Android NDK相关的库方法
  4. Android控件EditText之点击软键盘中的回车键不换行,而是跳到下一
  5. Android中WebView加载本地Html,与JavaScript与Android方法相互传

随机推荐

  1. Android(安卓)NDK编程浅入深出之--了解ND
  2. android adb命令 抓取系统各种 log
  3. Android实现九宫格
  4. Android之MotionLayout(四),用 MotionLay
  5. android studio ndk 开发以及问题
  6. android 定时器的实现
  7. android 集成腾讯bugly版本升级功能
  8. eclipse 配置android sdk和maven
  9. Android(安卓)ProgressBar 各种样式大全
  10. Android之MotionLayout(六),如果使用Keyf