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

Android应用资源---其他资源类型(More Types)(三)

2012-04-30 15:23 435 查看
整数型资源

在XML中定义的整数。

注意:整数是一个简单的资源,用name属性提供的值来引用资源。如,能够把整数型资源跟其他简单的资源组合在一个XML文件的<resources>元素下。

文件位置(FILE LOCATION):

res/values/filename.xml

文件名是任意的,<integer>元素的name属性值被用于资源ID。

资源引用(RESOURCE REFERENCE):

在Java代码中:R.integer.integer_name

在XML中:@[package:]integer/integer_name

语法(SYNTAX):

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

<resources>

<integer

name="integer_name"

>integer</integer>

</resources>

元素(ELEMENTS):

<resources>

必须的,它必须是根节点,没有属性。

<integer>

它声明一个整数。

属性(ATTRIBUTES):

name

字符串值,它给整数定义了一个名称,它的值被用于资源ID。

例子(EXAMPLE):

以下XML保存在res/values/integers.xml文件中:

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

<resources>

<integer
name="max_speed">75</integer>

<integer
name="min_speed">5</integer>

</resources>

以下是应用程序代码获取整数的方法:

Resources res
=getResources();

int maxSpeed
= res.getInteger(R.integer.max_speed);

Integer Array型资源:

在XML中定义一个整数数组。

注意:整数数组是种简单资源,用name属性提供的值来应用资源。如,能够把整数数组跟其他类型的简单资源一起组合到一个XML文件的<resources>元素下。

文件位置(FILE LOCATION):

res/values/filename.xml

文件名是任意的。<integer-array>元素的name属性值被用作资源ID。

被编译资源的数据类型(COMPILED RESOURCE DATATYPE):

资源指向一个整数数组。

资源应用(RESOURCE REFERENCE):

在Java代码中:R.array.integer_array_name

在XML中:@[package:]array.integer_array_name

语法(SYNTAX):

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

<resources>

<integer-array

name="integer_array_name">

<item

>integer</item>

</integer-array>

</resources>

元素(ELEMENTS):

<resources>

必须的,它必须是根节点,没有属性。

<string-array>

它定义一个整数数组,包含一个或多个<item>子元素。

属性(ATTRIBUTES):

android:name

字符串值,给数组定义一个名称。这个名称被用作资源ID。

<item>

定义一个整数。它的值能够是另一个整数资源的引用。它必须是<integer-array>元素的子元素,没有属性。

例子(EXAMPLE):

以下XML定义被保存在res/values/integers.xml文件中:

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

<resources>

<integer-array
name="bits">

<item>4</item>

<item>8</item>

<item>16</item>

<item>32</item>

</integer-array>

</resources>

以下是应用程序中代码获取整数数组的方法:

Resources res
=getResources();

int[] bits
= res.getIntArray(R.array.bits);

Typed Array型资源

在XML中定义一个TypeArray型的资源。可以使用这种资源类型来创建其他类型资源的数组,如可绘制资源。要注意的是,这个数组不需要是相同类型的,因此可以创建一个混合资源类型的数组,但是必须要知道数组中资源的数据类型,以便能够用TypedArray的get…()方法来正确的获取每一个项目。

注意:类型数组一种简单的资源,使用name属性中提供的值来引用资源。如,能够把类型数组资源跟其他类型的简单资源组合在一个XML文件的<resources>元素下:

文件位置(FILE LOCATION):

res/values/filename.xml

文件名是任意的。<array>元素的name属性值被用于资源ID。

被编译资源的数据类型(COMPILED RESOURCE DATATYPE):

资源指向一个TypedArray对象。

资源应用(RESOURCE REFERENCE):

在Java代码中:R.array.array_name

在XML中:@[package:]array.array_name

语法(SYNTAX):

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

<resources>

<array

name="integer_array_name">

<item>resource</item>

</array>

</resources>

元素(ELEMENTS):

<resources>

必须的,它必须是根节点,没有属性。

<array>

它定义了一个数组,包含了一个或多个<item>元素。

属性(ATTRIBUTES):

android:name

字符串值,它指定了这个数组的名称,名称的值被用作资源的ID。

<item>

它声明一个普通的资源,它的值能够是一个资源的引用或是一个简单的数据类型,它必须是<array>元素的子元素。它没有属性。

例子(EXAMPLE):

以下XML被保存在res/values/arrays.xml文件中:

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

<resources>

<array
name="icons">

<item>@drawable/home</item>

<item>@drawable/settings</item>

<item>@drawable/logout</item>

</array>

<array
name="colors">

<item>#FFFF0000</item>

<item>#FF00FF00</item>

<item>#FF0000FF</item>

</array>

</resources>

以下是应用程序代码获取类型数组资源的方法:

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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: