我们应该总是把我们的资源比如图片和字符串从应用代码中分离出来,这样就可以单独维护他们。分离资源也允许我们提供可替代的资源支持不同的设备配置,比如不同的语言或者屏幕大小,这变得越来越重要随着更多安卓驱动的有不同配置的设备变得可用。为了给不同的配置提供兼容性,我们必须在res/目录组织资源,使用通过类型和配置分组资源的各种子目录。
对于任何类型的资源,我们可以为应用指定默认和多个替代性资源。
l 默认资源是不管设备配置或者没有可替代的匹配当前配置的资源
l 可替代的资源是我们为特定配置的设计的。指定一组资源是为了一个特定的配置,给资源目录屏幕添加一个合适的配置修饰。
举例,当我们的默认UI保存在res/layout/ 目录,我们可能指定一个不同的布局当屏幕横向的时候使用,通过保存在res/layout-land/ 目录。安卓自动应用合适的资源通过匹配系统当前的配置和我们的资源目录名字。
图1展示了两种屏幕同样的布局,没有代替,图2,,有替代资源对大屏幕。
Figure 1. Two different devices, eachusing the default layout (the app provides no alternative layouts).
Figure 2. Two different devices, each usinga different layout provided for different screen sizes.
The following documents provide a complete guide to how you can organizeyour application resources, specify alternative resources, access them in yourapplication, and more:
Providing Resources
App中可以提供的资源种类,哪里去保存他们,如果创建替代的资源为特定的设备配置
What kinds ofresources you can provide in your app, where to save them, and how to createalternative resources for specific device configurations.
Accessing Resources
如果使用我们提供的资源,要么通过从应用代码指向要么从XML资源。
How to use theresources you've provided, either by referencing them from your applicationcode or from other XML resources.
Handling Runtime Changes
如何管理当活动运行时发生的配置改变
How to manageconfiguration changes that occur while your Activity is running.
Localization
一个由下而上的指导去局部化应用使用可替代的资源。当这个仅仅是一个特定的替代资源的使用,他是非常重要的去到达更多的用户。
A bottom-up guideto localizing your application using alternative resources. While this is justone specific use of alternative resources, it is very important in order toreach more users.
Resource Types
一个我们提供的不同资源类型的引用,描述他们的xml元素,属性和语法。举例,这个参考展示如何创建一个资源为menus,drawables,animations。
A reference ofvarious resource types you can provide, describing their XML elements,attributes, and syntax. For example, this reference shows you how to create aresource for application menus, drawables, animations, and more.