Android中的资源是指非代码部分,如图片、音频、视频、字符等资源。一般我们都是在assets中保存原生的文件,如:MP3文件,Android程序不能直接访问,必须通过AssetManager类以二进制流的形式读取。布局类型文件一般都放在res文件夹下,如:anim,drawable,layout,values,xml,raw,menu等等,这些资源都可以通过R资源类直接访问。assets中的资源很少用到,res中的资源经常用到。
1、资源布局类型表
目录结构资源类型
animXML:动画文件
drawable:一些文图文件
layoutXML:布局文件
values:各种XML资源文件:arrays.xml(数组文件)、colors.xml(颜色文件)、dimens.xml(尺寸文件)、styles(样式文件)
xml:任意的XML文件
raw:直接复制到设备中的原生文件
menu:XML菜单文件
2、引用资源一般格式:@[包名称:]资源类型/资源名称
比如:android:text=“@string/app_name”
3、R资源文件:资源文件的使用分为在代码中使用和在其他资源文件中引用该资源文件。在我们编译Android应用是,系统会自动生成一个R类,里面根据不同的资源生成对应的内部类,包含了系统中使用的所有资源文件的表示。如下所示:
package com.example.helloworld;
public final class R {
//属性
public static final class attr {
}
//颜色
public static final class color {
public static final int white=0x7f050004;
}
//尺寸
public static final class dimen {
public static final int button_height=0x7f060005;
public static final int button_width=0x7f060004;
}
//图片
public static final class drawable {
public static final int lili=0x7f020001;
public static final int momo=0x7f020003;
}
//ID标志
public static final class id {
public static final int action_settings=0x7f0a0010;
public static final int color_text=0x7f0a0003;
}
//布局
public static final class layout {
public static final int activity_main=0x7f030000;
public static final int hello_xiaomo=0x7f030001;
}
//菜单
public static final class menu {
public static final int main=0x7f090000;
}
//字符串
public static final class string {
public static final int action_settings=0x7f07000b;
public static final int app_Color=0x7f070002;
}
//样式public static final class style {
public static final int AppBaseTheme=0x7f080000;
public static final int AppTheme=0x7f080001;
}
//XMLpublic static final class xml {
public static final int person=0x7f040000;
}
}
4、代码中使用资源文件
在代码中使用资源文件,我们是通过R资源文件的资源文件类型和资源文件名称来访问的,具体格式:
R.资源文件类型.资源文件名称,比如:button = (Button)findViewById(R.id.button1)。
另外我们也可以访问系统中的资源文件。大部分的资源文件被定义在android包下的R类中。访问系统资源文件格式:
android.R.资源文件类型.资源文件名称,比如:i = android.R.color.darker_gray。
出处:http://blog.csdn.net/cl05300629/article/details/17614775 作者:伫望碧落