android的资源文件包括xml、图片、音乐、或者html等多种文件格式。
图片文件的存放:一般图片文件存放在res/drawable-hdpi、res/drawable-mdpi和res/drawable-ldpi中,风别对应存放中高低三种分辨率系统中使用的图片。 android中也分别对高中低3中不同分辨率进行规范。如下表
音乐、html文件等存放在Assets文件夹中。
布局文件存放在res/layout文件夹中。
字符资源存放于res/values/string.xml文件中。格式如下:
<resources>
<string name="app_name">name</string>
<string name="app_name_version">name %s</string>
</resources>
string标签属性name即为标示符,文字资源里的%s是占位符。java代码中的调用方法为
getString(int resId)
getString(int resId,Object ...formatArgs) //后边的参数为替换占位符的参数
数组存放在res/values/arrays.xml文件中,格式如下:
<resources>
<string-array name="arrays_str">
<item>str1</item>
<item>str2</item>
</string-array>
<integer-array name="arrays_int">
<item>1</item>
<item>2</item>
</integer-array>
</resources>
颜色定义放在res/values/colors.xml文件中。格式如下:
<resources>
<color name="common_rgb">#123456</color>
<color name="common_argb">#12345678</color>
</resources>
前一种是大家熟悉的6位RGB格式,后一种在RGB的基础上加上了透明度(Alpha),即为ARGB,如#12345678,有88%的透明度。
样式定义存放在res/values/styles.xml文件中。格式如下
<style name="common_layout_width_height_style_fw">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:orientation">vertical</item>
</style>
使用时直接使用style="资源标示符"进行引用。
尺寸定义存放在res/values/dimens.xml文件中。格式如下:
<resources>
<dimen name="height">10dp</dimen>
<dimen name="width">10px</dimen>
</resources>
尺寸注意的地方是他的单位,通常有dp(dpi),px,in,mm,pt和sp这6种
px:即为pixels(像素),对应屏幕上世纪的像素。
in:inches(英寸),基于物理屏幕的大小。
mm:millimeters(毫米),基于物理屏幕的大小。
pt:points(点),英寸的1/72,基于物理屏幕的大小。
dp:density-independent pixels(独立于密度的像素),一个抽象的基于物理屏幕密度的单位。这些单位是相对于一个160dpi的屏幕来说,即一个dp是160dpi屏幕上的一个 点。dp到px的转换比率根据屏幕密度改变,但不一定成正比。
sp:scale-independent pixels(规模独立像素),类似于dp单位,但是它也收用户字体大小设置的影响。当指定字体大小时可以使用它,因为它将根据屏幕和用户设置惊醒调整。
perferences定义文件存放在res/xml目录下。
java引用资源除了R.string 和R.array之外的,还有R.attr,R.drawable和R.layout,分别引入属性、图片、布局资源。系统编译后悔自动生成R.java文件,里面包含了16进制的资源标示符,一般不用手工干预。
例子很简单,就不再列出了。