首页 > 代码库 > 第三章 资源分离

第三章 资源分离

把非代码资源(如图片和字符串常量)和代码分离开来始终是一种很好的做法。通过把资源分离开来,可以使它们变得更加容易维护、跟新和管理。

一、创建资源

应用程序的资源存储在项目层次中res文件夹下

1、简单值--res/values

支持的简单值包括字符串、颜色、尺寸、样式和字符串数组或者整型数组,所有的简单值都存储在res/values文件夹下的XML文件中

(1)字符串

分离字符串有助于维护应用程序内部的一致性,而且可以更容易地国际化它们。一般存在strings.xml中

(2)颜色

(3)尺寸

尺寸是样式和布局资源中最常应用的资源。它们对创建像边界和肢体高度这样的布局常量来说非常有用。一般存在dimens.xml中

(4)样式和主题

样式资源可以指定视图说使用的属性值,从而使应用程序保持一个一致的用户界面体验。主题和样式资源最常见的用途是用来存储应用程序的颜色和字体。一般存在style.xml中

2、drawable--res/drawable

包括位图和可拉伸的PNG图像。

drawable—hdpi放置高分辨率的图片

drawable—mdpi放置中等分辨率的图片,

drawable—ldpi放置低分辨率的图片。

大部分人都把的图片放在drawable—mdpi中。但放在不同的位置是有影响的

例如在分辨率低于480*800时把图片放在drawable—mdpi中是不会有什么影响,但是当分辨率为420*800或高于它时就会出问题了。你的手机屏幕有那么大但是他会将图片拉伸,当加载图片后让你感觉该屏幕没有实际的大小,而如果将图片放到drawable—hdpi中则该问题就不会存在了。比如手机屏幕的大小为420*800如果你将图片放在drawable—mdpi中,那么你就要准备一张340*525分辨率的图片

3、布局--res/layout

布局资源可以让你在XML文件中设计用户界面的布局,而不是在代码中构建它们,从而可以把表示层从业务逻辑中分离出来。布局和代码的分离可以让你为不同的硬件配置创建优化的布局

4、动画(见第十一章)

Android支持三种类型的动画:

(1)属性动画--res/animator

可以使用属性动画器为目标对象几乎任何属性生成动画,属性动画机器有用,在Android中为fragment创建动画时会大量使用属性动画器。

(2)视图动画--res/anim

(3)逐帧动画--res/drawable

逐帧动画代表可以懂的drawable,它们是使用文件名(没有.xml扩展名)作为资源ID的

5、菜单--res/menu

创建菜单资源并使用XML设计菜单布局,而不是在代码中构建菜单。菜单资源可以用来定义应用程序内的activity和上下文菜单,它们可以提供与使用代码构建菜单时具有的相同的选项。

 二、使用资源

 

第三章 资源分离