Android应用资源可分为两大类:

 

  • 无法直接访问的原生资源,保存在assets目录下.
  • 可通过R资源清单类访问的资源,保存在res目录下.

 

大部分Android应用资源都是指位于res目录下的应用资源,Android SDK会在编译该应用时R类中为它们创建对应的索引项.

Android要求在res目录下用不同的子目录来保存不同的应用资源,以下是Android不同资源在res目录下的存储方式:

|— res



|— drawable-xhdpi



|— image.png



|— drawable-hdpi



|— image.png



|— drawbale-mdpi



|— image.png



|— drawable-ldpi



|— image.png



|— layout



|— main.xml



|— layout-land



|— main.xml



|— layout-large



|— main.xml



|— layout-large-land



|— main.xml



|— values



|— strings.xml



|— values- es



|— strings.xml



|— values-fr



|— strings.xml



1.在res/drawabel-*目录下存放着不同的位图,主要为了更好地适应屏幕的分辨率,提供了四种尺寸分辨率的图片:

 

  • xhdpi:2.0
  • hdpi:1.5
  • mdpi:1.0(基线)
  • ldpi:0.75

 

这就意味着,当我们为xhdpi的设备创建一张200x200的图片时,同时需要为hdpi的设备创建一张150x150的图片,为mdpi的设备创建一张100x100的图片,为ldpi的设备创建一张75x75的图片.这样一来,当Android应用程序中不同的分辨率的设备使用image.png,就会自动匹配其不同的res/drawable-*/image.png进行显示,从而不会出现图片显示不清的情况发生.

2.在res/layout-*目录下存放着不同分辨率的界面布局文件:

 

  • res/layout目录存放默认的界面布局文件
  • res/layout-land目录存放屏幕横向显示时的界面布局文件
  • res/layout-large目录存放屏幕较大的设备界面布局文件
  • res/layout-large-land目录存放屏幕较大的设备横向显示时的界面布局文件

 

在设计界面布局文件时,可以根据自己的需要定制适应自己设备的界面布局文件,并不用只是围绕这几个文件设计界面布局文件.

3.在res/values-*目录下存放各种简单的XML文件,包括字符串值、整数值、颜色值、数组等.因而,最关键的是字符串值,例如,不同的字符串来自于不同的语言,当设备在使用时,更换了系统语言,如从中文切换成英语,Android应用程序显示就有可能出现乱码,所以res目录下创建相应values-*/strings.xml文件:

 

  • res/values/strings.xml为本地化语言字符串值
  • res/values-es/strings.xml为英语字符串值
  • res/values-fr/strings.xml为法语字符串值