您的位置:首页 > 移动开发 > Android开发

Android的资源自适应与国际化

2016-05-28 16:46 549 查看

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息