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

猜你喜欢

转载自blog.csdn.net/changhuzichangchang/article/details/51534069
今日推荐