您的位置:首页 > 移动开发 > Android开发

Android资源文件中颜色使用的总结

2018-03-07 20:50 260 查看
本文对Android颜色的使用做总结,重点介绍颜色在资源文件中的创建和颜色的选择器的创建和使用。 

一.在xml中使用颜色资源文件和颜色选择器文件

 

(一)颜色资源文件的创建

1.创建资源文件,如图所示:

 

 

2.编辑colors.xml资源文件,如图所示:

 


 

(二)颜色选择器文件

 

1.颜色选择器的创建

 


 

2.颜色选择器文件的编辑

[plain] view plain copy<?xml version="1.0" encoding="utf-8"?>  
<!-- 被选中时,颜色变为绿色 --><!-- 没有被选中时,颜色变为蓝色 --><!-- <item android:state_checked="false" android:color="#00f"/>如果这里设置,那么按下功能就没有作用了 --><!-- 按下是显示红色 --><!-- 松开时显示黑色 -->  

 

(三)在布局使用颜色资源文件和颜色选择器文件

[plain] view plain copy<!-- color颜色的使用 --><!-- 颜色选中器的使用,只适合文本字体颜色的改变 --><button></button>  
   
      

 可以看到运行结果:
 

 按下按钮后,显示如下: 


 按下可选框后,先不松手,显示如下: 


  按下可选框松手后,显示如下: 


 上面就是在不用java代码设计的情况下使用颜色资源文件的情况。下面介绍一下使用java代码控制颜色的改变。    

二.Java代码中使用颜色资源文件和颜色选择器文件

(一)创建颜色资源文件和颜色选择器文件

 1.颜色资源文件的创建可以在XML文件中创建,也可以直接用java代码创建2.颜色选择器文件必须在XML文件中创建这里XML中文件的创建和上面的创建是一样的。这里只要介绍java代码调用颜色资源文件和颜色选择器。 

(二)java代码调用颜色资源文件和颜色选择器文件

1.xml布局文件设计

[plain] view plain copy<!-- color颜色的使用 --><!-- 颜色选中器的使用,只适合文本字体颜色的改变 --><button></button>  
   
      

 这里布局文件和上面布局文件的区别是,这里的 android:textColor=" " 没有设置,要在java代码中设置。 

2.java代码设计

 [plain] view plain copypublic class MainActivity extends Activity {  
       
   
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
   
        //实例化文本对象  
        TextView tv = (TextView) findViewById(R.id.main_tv_showcolor);  
        //实例化按钮对象  
        Button btn = (Button) findViewById(R.id.main_btn_colorselect);  
        //实例化可选框对象  
        CheckBox cb = (CheckBox) findViewById(R.id.main_cb_check);  
        // java代码设计自定义颜色资源前面加0x  
        // int color_red=0xff00;  
   
        // 获取颜色资源文件  
        int mycolor = getResources().getColor(R.color.myred);  
        // 获取颜色选择器文件  
        int color_seletot = getResources().getColor(R.color.color_selector);  
        // 为文本设置颜色资源  
        tv.setTextColor(mycolor);  
   
        // 为按钮和选框设置选中器  
        btn.setTextColor(color_seletot);  
        cb.setTextColor(color_seletot);  
}  
   

这样设计和在xml中设计是一样的,颜色资源的设置是没有问题的,但是用java代码设置颜色选择器会可能有失效的情况出现,所以还是建议尽量在xml文件中设置好,而不在java代码中设置。 以上就是Android的颜色资源的使用和颜色选择器的使用。    

三.Java代码中color的一些使用方法

(一)系统颜色

android内置的颜色,比如系统资源中定义的颜色,有以下几个:
BLACK(黑色),BLUE(蓝色),CYAN(青色),GRAY(灰色),GREEN(绿色),RED(红色),WRITE(白色),YELLOW(黄色)等。使用方法: Button btn = (Button) findViewById(R.id.btn);    btn.setBackgroundColor(Color.BLUE);

(二)自定义颜色

1.使用16进制数表示

使用方法:int mycolor = 0xff123456;  Button btn = (Button) findViewById(R.id.btn);      btn.setBackgroundColor(mycolor);

2.利用静态方法argb来设置颜色:

使用方法:Button btn = (Button) findViewById(R.id.btn);btn.setBackgroundColor(Color.argb(0xff, 0x00, 0x00, 0x00));argb()方法的参数依次为透明度,红,绿,蓝的大小,可以理解为浓度,这里组合起来的就是白色。  

四.RGB常用颜色对照表

RGB颜色表  
 白色:rgb(255,255,255)
 黑色:rgb(0,0,0)
 红色:rgb(255,0,0)
 绿色:rgb(0,255,0)
 蓝色:rgb(0,0,255)
 青色:rgb(0,255,255)
 紫色:rgb(255,0,255)
 调整相关数字,便可以得到深浅不一的各种颜色。
 
颜色样式RGB数值颜色代码颜色样式RGB数值颜色代码
黑色0,0,0#000000白色255,255,255#FFFFFF
象牙黑88,87,86#666666天蓝灰202,235,216#F0FFFF
冷灰128,138,135#808A87灰色192,192,192#CCCCCC
暖灰128,118,105#808069象牙灰251,255,242#FAFFF0
石板灰118,128,105#E6E6E6亚麻灰250,240,230#FAF0E6
白烟灰245,245,245#F5F5F5杏仁灰255,235,205#FFFFCD
蛋壳灰252,230,202#FCE6C9贝壳灰255,245,238#FFF5EE
红色255,0,0#FF0000黄色255,255,0#FFFF00
镉红227,23,13#E3170D镉黄255,153,18#FF9912
砖红156,102,31#9C661F香蕉黄227,207,87#E3CF57
珊瑚红255,127,80#FF7F50金黄255,215,0#FFD700
番茄红255,99,71#FF6347肉黄255,125,64#FF7D40
粉红255,192,203#FFC0CB粉黄255,227,132#FFE384
印度红176,23,31#B0171F橘黄255,128,0#FF8000
深红255,0,255#FF00FF萝卜黄237,145,33#ED9121
黑红116,0,0#990033黑黄85,102,0#8B864E
绿色0,255,0#00FF00棕色128,42,42#802A2A
青色0,255,255#00FFFF土色199,97,20#C76114
黄绿色127,255,0#7FFF00沙棕色244,164,95#F4A460
青绿色64,224,205#40E0D0棕褐色210,180,140#D2B48C
靛青色8,46,84#082E54玫瑰红188,143,143#BC8F8F
森林绿34,139,34#228B22赫色160,82,45#A0522D
草绿色107,142,35#6B8E23肖贡土色199,97,20#C76114
蓝色0,0,255#0000FF肖贡土色160,32,240#A020F0
锰蓝3,168,158#03A89E淡紫色218,112,214#DA70D6
深蓝25,25,112#191970紫罗兰138,43,226#8A2BE2
土耳其蓝0,199,140#00C78C胡紫色153,51,250#9933FA
 

五.颜色值的说明

  (一)#RGB ,使用红、绿、蓝三原色的值来表示颜色,

其中红,绿和蓝均采用0-f来表示,如要表示红色可以使用 #f00

(二)#ARGB :使用透明度以及红绿蓝三原色来表示颜色,

其中透明度,红,绿和蓝均采用0-f来表示,如,要表示半透明的红色,可以使用 #8f00

(三)#RRGGBB , 使用红,绿,蓝三原色的值来表示颜色,

与 #RGB 不同的是这里的红绿蓝使用00-ff来表示,如要表示蓝色可以使用 #0000ff

(四)#AARRGGBB 使用透明度及红绿蓝三原色来表示颜色,

其中透明度、红、绿、蓝均采用00-ff来表示。例如,要表示半透明的绿色可以使用 #8800ff00 , #00 表示完全透明 ff表示完全不透明
总结;Android程序开发中界面中对文字(标题,内容,注释)颜色的设置都是比较规范和统一的,一般都用到颜色资源来统一这种,而不在xml控件中单一控制。所有颜色资源文件的使用还是比较重要的,而颜色选择器可以增加特殊效果,在特定情况下可能有需要。这里的颜色选择器要和按钮背景的颜色选择器区分,这里的颜色选择器是对字体的颜色发生改变的,而按钮背景的选择器是对按钮的背景进行改变的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐