- 应用程序资源:
- 应用程序资源是应用开发中任何地方都可以访问的一些资源,存储在res文件夹中
- 子文件夹:
- drawable:分为drawable-hdpi、drawable-ldpi、drawable-mdpi、drawable-xdpi四个不同分辨率的图片资源文件夹,分别为没种分辨率设备进行适配使用
- layout:布局资源文件夹,存储应用中所有的布局文件
- values:存储所有常用值资源,包括strings.xml,arrays.xml,dimens.xml,style.xml,color.xml
- menu:存储菜单资源文件
- anim:存放视图动画资源文件
- animator:存放属性动画资源文件
- xml:存放xml文件资源,例如SharedPreferences.xml
- 开发中尽量实现完全的代码与资源分离,便于维护、更新和管理,同时资源与代码分离能够实现多语言开发,只需要修改资源文件中的语言即可,程序不用发生任何改动
- drawable资源:
- drawable文件夹下一般都存放png图片,.9png在Android能够高清晰显示,一些动画图片如jpg也可以存放在其中,但是其在显示的时候如果不进行动态处理,那么最终只显示为静态图片
- 帧动画xml文件也放在该文件夹下,帧动画实际上就是没过一段时间显示一张图片来实现动画效果
- 在xml中使用drawable资源:@drawable/a,使用Android SDK自带的drawable资源:@android:drawable/a
- 在代码中访问drawable资源:
Drawable drawable=context.getResources().getDrawable(R.drawable.back6);
AnimationDrawable animationDrawable= (AnimationDrawable) context.getResources().getDrawable(R.drawable.logo);
- layout资源:
- 存放所有布局文件资源,包括Activity布局多用文件,Fragment布局所用文件,View布局所用文件,ListView布局所用文件等所有View的可视化文件
- 不建议使用代码动态创建layout来组合View显示,最好遵守代码与资源分开原则,便于维护与修改
- 布局资源中使用其他资源:
- 本地资源:@style/.. @string/.. @drawable/.. 等
- Android SDK资源:@android:style/.. @android:string/..等
- 一般其他资源文件中不能引用layout资源,但是layout中可以使用,例如viewStub与include标签可以实现布局文件的复用,其中layout属性指向引用布局资源
代码中使用布局资源:LayoutInflater
-
- 实例化LayoutInflater三种方法:
-
LayoutInflater layoutInflater=LayoutInflater.from(context);
LayoutInflater layoutInflater= (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LayoutInflater layoutInflater= context.getLayoutInflater();
- 通过LayoutInflater实例将layout文件变成view:
-
layoutInflater.inflate(R.layout.content,null,false);
- values文件夹
- values文件夹中存放简单的资源,如string资源文件,dimen资源文件,style资源文件,color资源文件,array资源文件等
- 在其他资源中使用@type/..
- 在代码中使用:
- 获取字符串:context.getResources().getText(..);
- 获取dimen:context.getResources().getDimension(..);
- 获取color:context.getResources().getColor(..);
- 获取array:context.getResources().getStringArray(..);
- 获取Integer:context.getResources().getInteger(..);
- 等等
- 获取Android SDK中的values资源
- 主要是字符串资源:context.getText(..);
- menu文件夹
- 用于存放菜单结构xml文件
- 在Android基础之菜单中详细介绍
- anim文件夹
- 存放视图动画xml
- 代码中获取anim
- 通过AnimationUtils类来获取
-
AnimationUtils.loadAnimation(context,id);
- 通过资源管理器getAnimation方法获取
-
getResources().getAnimation(R.anim.);
- 在Android基础之动画中详细介绍
- animator文件夹
- 存放属性动画xml
- 代码中使用
- 通过AnimatorInflater类来获取
-
Animator a=AnimatorInflater.loadAnimator(MyActivity.this,R.animator.);
- 具体使用在Android基础之动画中详细介绍
- xml文件夹
- 存放xml文件,其中可以是xml配置文件,SharedPreferences xml文件
- 主要用于实现动态配置与可持续化存储
- 与XML解析器和Dom解析器结合使用
- 具体使用在Android基础之XML&Dom解析中介绍
- 在布局资源中使用当前主题的资源,例如字体颜色等:
android:textColor="?android:textColor"
- Android 中动画分为三种
- 视图动画:anim
- 属性动画:animator
- 帧动画:AnimationDrawable
- Android颜色值
- #RGB 三位16进制,例如#00F
- #RRGGBB 六位16进制,例如#7700FF
- #ARGB 四位含透明度的颜色值,例如#F00F
- #AARRGGBB 八位含透明度的颜色值,例如#7700FF00
- Android尺寸
- px:屏幕像素
- in:物理英寸
- pt:物理点
- mm:物理毫米
- dp:非密度制约像素,常用于设置宽高,边距
- sp:缩放比例无关的像素,常用于设置字体大小