Android中Bool、Color、Dimension、ID、Integer、Integer Array、Typed Array类型的资源:
一、Bool
定义的文件位置:res/values/filename.xml。文件名任意。
引用:
Java类: R.bool.bool_name
XML文件: @[package:]bool/bool_name
语法:
[true | false]
例子:
res/values/bools.xml
:
true
false
JAVA类中取值:
Resources res = getResources();
boolean screenIsSmall = res.getBoolean(R.bool.screen_small);
二、Color
使用color标签来定义一种颜色资源,使用#符号来指定颜色值,其后跟一个可选的Alpha通道,再之后使用一个或两个十六进制值来标识RGB。样例:
文件位置:res/values/colors.xml。文件名任意。
引用:
Java类:
R.color.color_name
XML文件:
@[package:]color/color_name
hex_color
例子:
res/values/colors.xml
:
#f00
#80ff0000
Java代码引用:
Resources res = getResources();
int color = res.getColor(R.color.opaque_red);
XML资源文件中引用:
三、Dimension(尺寸)
要指定一个尺寸资源,可以使用dimen标签来指定尺寸的值,并在其后跟一个标识符来描述尺寸的单位:
文件位置:res/values/filename.xml。文件名任意。
引用:
Java类:
R.dimen.dimension_name
XML文件:
@[package:]dimen/dimension_name
语法:
dimension
例子:
res/values/dimens.xml
:
25dp
150dp
30dp
16sp
Java代码引用:
Resources res = getResources();
float fontSize = res.getDimension(R.dimen.font_size);
XML资源文件中引用:
四、ID
用XML格式定义的资源唯一ID。对应
注意:请记住ID资源不代表一个实际的资源项,而只是一个可与其他资源绑定的唯一ID,或是一个用于应用程序代码中的唯一整数。
文件位置:res/values/filename.xml。文件名任意。
引用:
Java类:
R.id.name
XML文件:
@[package:]id/name
语法:
属性:
Type:必须是“id”。
name:String类型。ID的唯一名称。
res/values/ids.xml
文件:
以下代码将“button_ok”作为Button控件的ID:
注意
android:id
的值:
ID
引用里不含加号
“+”
了,因为这个
ID
已经在上面的
ids.xml
中定义过了。(如果
XML
资源里用加号指定一个
ID—
类似格式
android:id="@+id/name"
—
那就意味着
“name”
命名的
ID
还不存在并需要创建它。)
五、Integer
文件位置:res/values/filename.xml。
文件名任意。
引用:
Java类:
R.integer.integer_name
XML文件:
@[package:]integer/integer_name
语法:
integer
例子:
res/values/integers.xml
:
75
5
Java文件中调用:
Resources res =getResources()
; int maxSpeed = res.getInteger
(R.integer.max_speed);
六、Integer Array
整数数组。
文件位置:res/values/filename.xml。文件名任意。
引用(同String Array):
Java类:
R.array.integer_array_name
XML文件:
@[package:]array.integer_array_name
语法:
xml version="1.0" encoding="utf-8"?> <resources> <integer-array name="integer_array_name"> <item>integer例子:
res/values/integers.xml
:
Java中调用:75 - 10
- 20
- @integer/max_speed
Resources res =getResources()
; int[] bits = res.getIntArray
(R.array.bits);
七、Typed Array
用于创建其它资源(除了String和Integer,字符串有String Array,整数有Integer Array)的数组,比如drawable。注意数组元素不必是同一类型的,可以创建多种资源组成的数组。但必须小心处理数组内不同的数据类型,利用TypedArray类的get...()方法正确地读取每个数据项。
文件位置:res/values/filename.xml。文件名任意。
编译后的资源数据类型:
指向TypedArray的指针。
引用(同String Array、Integer Array):
Java类:
R.array.array_name
XML文件:
@[package:]array.array_name
语法:
xml version="1.0" encoding="utf-8"?> <resources> <array name="typed_array_name"> <item>resource例子,
res/values/arrays.xml
文件:
xml version="1.0" encoding="utf-8"?>以下程序代码取出每个数组并读取第一个数组元素:name="icons"> - @drawable/home
- @drawable/settings
- @drawable/logout
name="colors"> - #FFFF0000
- #FF00FF00
- #FF0000FF
Resources res =getResources()
; TypedArray icons = res.obtainTypedArray
(R.array.icons); Drawable drawable = icons.getDrawable
(0); TypedArray colors = res.obtainTypedArray
(R.array.colors); int color = colors.getColor
(0,0);
测试以上资源的源码:测试Demo
官网原文:http://developer.android.com/guide/topics/resources/more-resources.html
参考:http://www.cnblogs.com/over140/archive/2011/10/24/2222255.html