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 系统。