Android中颜色的使用

Android中颜色的使用

开发中使用的颜色可以分为两种,自定义颜色和系统颜色

1.自定义颜色:

颜色值的定义是通过RGB三原色和一个alpha值来定义的(加色原理)。以井号(#)开始,后面是Alpha-Red-Green-Blue的格式。
形如:
#RGB 
#ARGB 
#RRGGBB 
#AARRGGBB
通常使用#RRGGBB 或者#AARRGGBB的形式。其中AA为透明度,FF表示不透明,00表示透明。

1.1 在资源文件中定义颜色:
一般在res\values下建立colors.xml文件,定义颜色,如下:

 version="1.0" encoding="utf-8"?>  

  

  name="red">#ff0000  

1.2 颜色的使用    

1.2.1 在代码中使用颜色
R.color.color_name
例如:

  1. Button btn1 = (Button) findViewById(R.id.button1);      
  2. int color = Resources.getSystem().getColor(R.color.red);  
  3. btn1.setBackgroundColor(color);  


    1.2.2 在布局文件中使用颜色
    @[package:]color/color_name
    例如:

  1.     android:id="@+id/button1"  
  2.     android:layout_height="wrap_content"  
  3.     android:layout_width="match_parent"  
  4.     android:text="Address book"  
  5.     android:background="@color/red"  
  6. >  

这个地方也可以直接使用颜色值,但是不推荐这样做

 

  1.     android:id="@+id/button1"  
  2.     android:layout_height="wrap_content"  
  3.     android:layout_width="match_parent"  
  4.     android:text="Address book"  
  5.     android:background="#ff0000"  
  6. >  

2.系统颜色
android也有一些内置的颜色,例如系统资源中定义的颜色,十分有限。
android.graphics.Color类中也提供了一些颜色常量和构造颜色值的静态方法。

    2.1 系统颜色的使用
        2.1.1 在代码中使用系统颜色


系统资源中定义的颜色值十分有限
Button btn1 = (Button) findViewById(R.id.button1);

  1. int color = Resources.getSystem().getColor(android.R.color.background_dark);  
  2. btn1.setBackgroundColor(color);  

Color类中的颜色常量

  1. Button btn1 = (Button) findViewById(R.id.button1);      
  2. btn1.setBackgroundColor(Color.CYAN);  

使用Color类中的静态方法

  1. Button btn1 = (Button) findViewById(R.id.button1);      
  2. btn1.setBackgroundColor(Color.argb(0xff, 0xff, 0x00, 0x00));  

    2.1.2 在布局文件中使用系统颜色

    1.     android:id="@+id/button1"  
    2.     android:layout_height="wrap_content"  
    3.     android:layout_width="match_parent"  
    4.     android:text="Address book"  
    5.     android:background="@android:color/background_dark"  
    6. >  

 

本文转自http://www.linuxidc.com/Linux/2011-10/45589.htm,感谢作者的分享


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章