android如何使用资源文件定义的颜色
2015-09-10 16:50
423 查看
讲到使用资源文件,必然有两种方式,一种是在xml中引用,一种是在代码里引用。
例如:我们在xml中定义了如下两种颜色,在xml文件中引用的话,很简单的,使用@color/drakblue即可。
但是如果在代码中引用呢?
我是相当长一段时间没有在代码中引用过资源文件了,今天偶尔引用一下,竟然试了好一段时间,才把颜色调正常。
最开始我是这样定义的:
其中前面用的是系统自带的color,因为系统本身就提供了10种颜色,到第11种和12种时候,只能自己定义了,于是出现了前边我定义的那两种颜色,写数组的时候,顺其自然的模仿前面的形式来了个:
R.clor.darkblue
看上去形式还蛮搭,测试的时候发现无论怎样,后两个颜色显示的都是一种纯色,完全跟我定义的无关。
![](http://images2015.cnblogs.com/blog/772202/201509/772202-20150910164455309-1619817479.png)
这样对么?里边是int值,哪里是你要的string哟!
好了,正确的方法应该是耳熟能详的这样子滴。。。拜拜~
例如:我们在xml中定义了如下两种颜色,在xml文件中引用的话,很简单的,使用@color/drakblue即可。
<resources> <color name="weakyellow">#ee9c16</color> <color name="darkblue">#445f74</color> </resources>
但是如果在代码中引用呢?
我是相当长一段时间没有在代码中引用过资源文件了,今天偶尔引用一下,竟然试了好一段时间,才把颜色调正常。
最开始我是这样定义的:
colors = new Integer[]{Color.CYAN,Color.DKGRAY,Color.BLUE,Color.GREEN,Color.LTGRAY,Color.MAGENTA,Color.BLACK,Color.RED,Color.YELLOW,Color.WHITE,R.color.weakyellow,R.color.darkblue};
其中前面用的是系统自带的color,因为系统本身就提供了10种颜色,到第11种和12种时候,只能自己定义了,于是出现了前边我定义的那两种颜色,写数组的时候,顺其自然的模仿前面的形式来了个:
R.clor.darkblue
看上去形式还蛮搭,测试的时候发现无论怎样,后两个颜色显示的都是一种纯色,完全跟我定义的无关。
![](http://images2015.cnblogs.com/blog/772202/201509/772202-20150910164455309-1619817479.png)
怎么能这样定义呢?完全是忘了基本概念,“R.clor.darkblue”是什么意思?同学们? 它代表的是资源值,每个resources里边的内容都会在R文件中生成一个唯一的ID值,这跟颜色毫无关系! 再举个例子,使用
textView.setText(R.string.me)
这样对么?里边是int值,哪里是你要的string哟!
好了,正确的方法应该是耳熟能详的这样子滴。。。拜拜~
colors = new Integer[]{Color.CYAN,Color.DKGRAY,Color.BLUE,Color.GREEN,Color.LTGRAY,Color.MAGENTA,Color.BLACK,Color.RED,Color.YELLOW,Color.WHITE,getResources().getColor(R.color.weakyellow),getResources().getColor(R.color.darkblue)};
getResources().getColor(R.color.darkblue)
相关文章推荐
- Android Volley的基本用法
- android 调用相机拍照 伪闪退
- RelativeLayout相对布局常用属性
- Android RatingBar自定义替换系统图片
- 使用Gradle构建Android应用的渠道包
- android开发之旅1
- Android的签名与校验机制
- android.text.Html源码解析-再也不用担心图文混排什么的了
- 分析(Android下的任务和Activity栈)
- android字体渐变仿音乐歌词
- Android 开发环境变量设置
- Android Data Storage
- 【Android基础】——Fragment-使用方法
- 那些Android中的性能优化(希望三年后我也能写这种文章)
- [转]Android,Yocto,Meego构建系统的区别
- Android Animation动画(很详细)
- Android设备识别
- 《ArcGIS Runtime SDK for Android开发笔记》——(4)、基于Android Studio构建ArcGIS Android开发环境
- Android之混淆心得与亲身体验
- Android应用自动更新功能的代码实现