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

[转载]Android应用资源---其他资源类型(More Types)(三)

2012-06-06 17:16 399 查看
http://blog.sina.com.cn/s/blog_9238169201012ora.html


整数型资源

在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文件中:

<?Communityxml
version="1.0" encoding="utf-8"?>
<resources>
    <integername="max_speed">75</integer>
    <integername="min_speed">5</integer>
</resources>

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

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

Integer Array型资源:

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

注意:整数数组是种简单资源http://www.mianfeiyuanma.com/ ,用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-arrayname="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>
    <arrayname="icons">
        <item>@drawable/home</item>
        <item>@drawable/settings</item>
        <item>@drawable/logout</item>
    </array>
    <arrayname="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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息