Android的资源自适应与国际化

来源:互联网 发布:vb中chr是什么意思 编辑:程序博客网 时间:2024/06/01 07:49

1.自适应不同屏幕的资源

      在Android开发中有一个比较麻烦的问题,Android设备的屏幕尺寸、屏幕分辨率差别非常大,而我们总希望开发的Android应用能够在所有的Android设备上运行,所以开发Android应用时要考虑不同屏幕的适应性问题。
通常来说屏幕资源需要考虑屏幕尺寸、屏幕分辨率、屏幕方向这三个方面。
屏幕尺寸:屏幕尺寸可分为small(小屏)、noraml(中屏)、large(大屏)、xlarge(超大屏)。
屏幕分辨率:屏幕分辨率分为ldpi(低分辨率)、mdpi(中等分辨率)、hdpi(高分辨率)、xhdpi(超高分辨率)、xxhdpi(超超高分辨率)。
屏幕方向:屏幕方向分为横屏(land)、竖屏(port)。
为了使Android应用能够适应不同屏幕,实际上就是为不同尺寸、分辨率都提供相应的布局资源、图片资源。
屏幕尺寸:为layout、values目录添加small、normal、large、xlarge后缀,分别为不同尺寸的屏幕提供相应的资源。
屏幕分辨率:为drawable目录添加ldpi、mdpi、hdpi、xhdpi、xxhdpi后缀,从而为不同分辨率的屏幕提供资源。
屏幕方向:为layout、values目录添加land、port后缀,从而为横屏、竖屏提供相应的资源。

2.Android的国际化

      Java程序国际化的思路就是将程序中的标签、提示信息都放在资源文件中,程序需要支持哪些国家、语言环境就提供相应的资源文件。
Android应用的国际化是比较简单的,因为Android本身就采用了XML资源文件来管理程序中用到的字符串。Android使用res/values目录下的资源文件来保存程序中用到的字符串。那么为了给这些字符串提供不同国家、语言的版本,需要为values目录添加不同国家、语言的版本,不同的values目录的命名方式如下:
values-语言代码-r国家代码
例:如果应用需要支持中文、美式英语两种环境,则需要在res目录下添加values-zh-rCN和values-en-rUS两个目录。
如果应用希望程序的图片资源也能随着国家、语言的环境改变,还需要为drawable目录添加不同国家、语言的版本。不同drawable目录的命名方式如下:
drawable-语言代码-r国家代码
因为前面在不同屏幕的自适应中,为了适应不同分辨率的屏幕,drawable添加了相应的分辨率后缀,那么如果即支持不同的国家、语言环境、又支持不同的分辨率,那么该怎么命名:
直接在国家、语言后缀后面追加分辨率后缀即可。
drawable-zh-rCN-mdpi、drawable-zh-rCN-hdpi
drawable-en-rUS-mdpi、drawable-en-rUS-hdpi

0 0
原创粉丝点击