android的资源

1、资源引用语法:

@[package:]type/name :其中package可以省略,默认是本地包即R.java package,type是资源类型,name是名称;android应用主要有以下资源类型:

R.drawable--drawable

R.id--id

R.layout--layout

R.string--string

R.attr--attr

R.plural--plurals

R.array--string-array

你可以通过android.R.java来引用android的系统资源
在引用id资源时,你可以通过一个'+'来让系统帮你定义一个id资源,如@+id/text;


2、资源类型

编译成二进制类型和拷贝到设备类型
一般/res/values,/res/layout,/res/xml等目录下的都会通过aapt编译成二进制,而/res/raw目录下的是拷贝到设备上;
/res/xml下的文件,可以通过android系统的xml readers读取;
/res/raw下的文件虽然没有编译成二进制,但因为是资源,android会在R.java中产生一个id,你可以通过这个id来访问该资源,如R.raw.some-filename-minus-extension;
在/res目录下有如下重要的子目录:

anim:编译好的动画文件

drawable:位图

layout:UI和视图定义

values:数组,颜色,尺寸,字符串和样式

xml:编译好的xml文件

raw:没有编译的原始文件

资源类型
resource type location description
Colors /res/values/any-file 通过R.color.*来引用,xml 节点是/resources/color
Strings /res/values/any-file 通过R.string.*来引用,xml节点是/resources/string
String arrays /res/values/any-file 通过R.array.*来引用,xml节点是/resources/string-array
Pluras /res/values/any-file 通过R.plural.*来引用,xml节点是/resources/plurals
Dimensions /res/values/any-file 通过R.dimen.*来引用,xml节点是/resources/dimen
Images /res/drawable/multiple-files 通过R.drawable.*来引用
Color
drawables
/res/values/any-file
or
/res/drawable/multiple-files
矩形或圆角矩形颜色背景,通过R.drawable.*来引用;矩形的xml节点是/resources/drawable,圆角矩形的的根xml节点是<shape>
Arbitrary xml file /res/xml/*.xml android可以把任意的xml文件当作资源,这些文件通过aapt编译器来编译,通过R.xml.*来引用;通过xml reader api来访问xml文件
Arbitrary raw
file
/res/raw/*.* 这些资源不会编译但会产生唯一资源id,并且可以通过R.raw.*来引用;通过基于流的api来访问
Arbitrary raw
assets
/asseats/*.*/*.* android允许任意的目录和文件放在/assets目录下,它们不是资源文件而是原始文件,不会产生资源id;你可以通过以/assets开始的路径来访问相关文件资源

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章