一、Android关键资源

Android的res目录下的资源都以XML文件格式配置描述,该目录下所有的资源ADT都会生成可由java代码访问的R.java类,R.java类对所有的资源项都会生成一个唯一的int类型ID;

资源类型

位置


说明

R.java访问

XML节点

函数访问

颜色

/res/values/any-file

表示颜色编码标识符资源

R.color.*

/resources/color

activity.getResources.getColor(R.Color.colorID)

字符串

/res/values/any-file

表示字符串资源

R.string.*

/resources/string

activity.getString(R.string.stringID)

字符串数组

/res/values/any-file

表示一个作为了符串数组的资源

R.array.*

/resources/string-array

activity.getResources().getStringArray(R.array.arrayID)

复数(plural)

/res/values/any-file

根据数量值表示一个合适的字符串集合,类似字符串美枚举

R.plural.*

/resources/plurals

activity.getResources().getQuantityString(R.plural.pluralID,数值标量,参数)

尺寸

/res/values/any-file

表示Android中各种元素或视图的尺寸或大小

R.dimen.*

/resources/dimen

activity.getResources().getDimension(R.dimen.dimenID)

图像

/res/drawable/multiple-files

表示图像资源

R.drawable.*

/resources/drawable

activity.getResources().getDrawable(R.drawable.drawableID)

色块图

/res/values/any-file

/res/drawable/multiple-files

表示用作视图背景的矩形色块或普通图形对象,比如位图。

R.drawable.*

/resources/drawable

activity.getResources().getDrawable(R.drawable.drawableID)

任意XML文件

/res/xml/*.xml

任意XML资源文件

R.xml.*

 

activity.getResources().getXml(R.xml.xmlID)

任意原始资源

/res/raw/*.*

任意未编译的二进制文件或文本文件

R.raw.*

 

activity.getResources().openRawResource(R.raw.rawID)

任意原始资产

/assets/*.*/*.*

/assets子目录下任意子目录中的任意文件,这些文件不是真正的资源,只是原始文件,与/res资源子目录不同,这个目录支持任意深度的子目录。

 

 

activity.getAssets()


二、资源目录结构

/res/values/strings.xml
                    /colors.xml
                    /dimens.xml
                    /attrs.xml
                    /styles.xml
       /drawable/*.png
                         /*.jpg
                         /*.gif
                         /*.9.png
       /anim/*.xml
       /layout/*.xml
       /raw/*.*
       /xml/*.xml
/assets/*.*/*.*

三、资源引用语法

无论什么类型的Android资源都使用它们在java源代码中的ID来标识(或引用)。将id分配给xml文件中资源的语法称为资源引用语法。@+id/实际id名称:表示这个ID如果不存在,将创建他。

语法:@[package:]type/name

type对应于R.java中一种可用的资源类型命名空间,包括:

  • R.drawable;
  • R.id;
  • R.layout;
  • R.string;
  • R.attr;
  • R.plural;
  • R.array;

XML资源引用语法中相应的类型为:

  • Drawable;
  • id;
  • layout;
  • string;
  • attr;
  • plurals;
  • sting-array;

四、其它备注资源目录配置修饰符

  • mccAAA:AAA是移动设备国家代码
  • mncAAA:AAA是运营商/网络代码
  • en-rUS:语言和区域
  • small、normal、large、xlarge:屏幕大小
  • long、notlong:屏幕类型
  • port、land:纵向或横向
  • car、desk:扩展坞类型
  • night、notnight:晚上或白天
  • ldpi、mdpi、hdpi、xhdpi、nodpi:屏幕像素密度
  • notouch、stylus、finger:屏幕种类
  • keysexposed、keyssoft、keyshidden:键盘种类
  • nokeys、qwerty、12key:键数
  • navexposed、navhidden:隐藏或显示导航键
  • nonav、dpad、trackball、wheel:导航设备类型
  • v3、v4、v7:API级别