value:存放简单的xml资源(主要是文本资源)
包括:
string,bool,integer
颜色:color
数组:array string-array integer-array
尺寸:dimen,定义在android:layout_height="10dp"中的10dp
样式:style
在一个应用中有多个控件的多个属性一样时,如果我们每一个控件都写多行相同的代码,未免太过于麻烦,这个时候我们就可以使用style资源
style支持布局文件中的所有属性,且style只对控件进行定义
主题:theme
theme也使用style来进行定义,但是注意,theme只对Activity进行定义
value目录下资源的定义
value目录下的资源文件的根元素都是
<resource....>
然后在根元素中加上相应的子元素,如
string bool integer
color
array string-array integer-array dimen style 等
如果子元素是复合型的(数组,style,theme),就在子元素后再加上
<item...>
注意:theme和style都是使用<style.....>,不用<theme...>
各个资源的定义样例如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="one">1</integer> //string,integer,bool
<bool name="bool">true</bool>
<string name="name">myName</string>
<array name="arr"> //三个数组
<item >1</item>
<item >2</item>
<item >3</item>
</array>
<string-array name="string_arr">
<item>one</item>
<item>two</item>
<item>three</item>
</string-array>
<integer-array name="int_arr">
<item>1</item>
<item>2</item>
<item>3</item>
</integer-array>
<color name="edit_color">#111111</color> //颜色和尺寸
<dimen name="edit_height">10dp</dimen>
<style name="myStyle"> //风格和主题
<item name="android:color">@color/edit_color</item>
<item name="android:height">@dimen/edit_height</item>
</style>
<style name="theme"> //定义theme时使用style
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
</resources>
资源文件在Java代码中的引用
- 可以直接使用R类来进行引用(但是只是引用索引,不直接引用实体)
- 资源文件在Java代码中的引用可以通过 Resource 类来完成(直接引用实体)
Resource的实例化通过 getResources();
然后通过得到的对象来得到相应的资源
顺便推销一下个人博客地址: