Android在XML文件中或者java程序中引用资源的方法

1. 在XML 文件中引用资源的语法如下:

1) @[package:]type/name

使用我们自己包下的资源可以省略package。

在xml 文件中, 如main.xml 以及AndroidMainfest.xml 文件中通过

“@drawable/icon”的方式获取。其中“@”代表的是R.java 类,“drawable”代表R.java

中的静态内部类“drawable”,“/icon”代表静态内部类“drawable”中的静态属性“icon”。

而该属性可以指向res 目录下的“drawable-*dpi”中的icon.png 图标。

其他类型的文件也比较类似。凡是在R 文件中定义的资源都可以通过

“@ Static_inner_classes_name/resourse_name”的方式获取。如“@id/button”,

“@string/app_name”。

2) 如果访问的是Android 系统中带的文件,则要添上包名“android:”。

如android:textColor="@android:color/red" 。


2. “@+id/string_name”表达式

顺便说一下,在布局文件当中我们需要为一些组件添加Id 属性作为标示,可以使用如

下的表达式“@+id/string_name”其中“+”表示在R.java 的名为id 的内部类中添加一条

记录。如"@+id/button"的含义是在R.java 文件中的id 这个静态内部类添加一条常量名为

button,该常量就是该资源的标识符。如果id 这个静态内部类不存在,则会先生成它。通

过该方式生成的资源标识符,仍然可以以“@id/string_name”的方式引用。


3. 在Java 程序当中,我们可以按照Java 的语法来引用。

1) R.resource_type.resource_name

需要注意的是,resource_name 不需要文件的后缀名。

比如说上面的icon.png 文件的资源标识符可以通过如下方式获取。

R.drawable.icon

2) android.R.resource_type.resource_name

Android 系统本身自带了很多的资源,我们也可以进行引用,只是需要在前面加上“android.”以声明该资源来自Android 系统。

你可能感兴趣的:(Android)