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
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories