精通Android3学习笔记(三)使用Android资源

一、Android关键资源

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

资源类型位置说明R.java访问XML节点函数访问
颜色/res/values/any-file表示颜色编码标识符资源R.color.*/resources/coloractivity.getResources.getColor(R.Color.colorID)
字符串/res/values/any-file表示字符串资源R.string.*/resources/stringactivity.getString(R.string.stringID)
字符串数组/res/values/any-file表示一个作为了符串数组的资源R.array.*/resources/string-arrayactivity.getResources().getStringArray(R.array.arrayID)
复数(plural)/res/values/any-file根据数量值表示一个合适的字符串集合,类似字符串美枚举R.plural.*/resources/pluralsactivity.getResources().getQuantityString(R.plural.pluralID,数值标量,参数)
尺寸/res/values/any-file表示Android中各种元素或视图的尺寸或大小R.dimen.*/resources/dimenactivity.getResources().getDimension(R.dimen.dimenID)
图像/res/drawable/multiple-files表示图像资源R.drawable.*/resources/drawableactivity.getResources().getDrawable(R.drawable.drawableID)
色块图/res/values/any-file
/res/drawable/multiple-files
表示用作视图背景的矩形色块或普通图形对象,比如位图。R.drawable.*/resources/drawableactivity.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级别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值