安卓程序国际化,手机屏幕适配器
2015-08-24 19:02
267 查看
1想要自己的应用程序被世界上其他的国家应用就必须安卓程序“国际化”,所谓的国际化只是将应用里的语言换为其他国家的,或者其他的view显示相应的国家的内容。
首先在安卓app启动的时候会根据用户手机设置里的语言获取用户是哪个国家,然后调用相应的资源文件。
打个最简单的hello world!程序,在src资源文件下可以在values里找到app的文件名如下:
这其实是应用程序默认的读取的string.xml文件,若想在英国显示英文,在中国显示:“你好世界!”,可以src下创建另外的一个文件名字叫“values-zh”,并且复制默认values文件里的文件,并且将相应的字符串该为中文的(注意 name不要修改):
这样如果用户手机语言设置为中文的时候打印出来的就是”你好世界“,一般文件命名是固定的是"values-"加国家的标识,若想知道其他国家的标识我们可以通过打开IE浏览器,在工具、Internet选项、语言里,点击”添加“,就会出现各个国家的名字后面的小写字母就是国家语言的标识,如下图:(values-zh)就表示在中文的时候执行程序读取的资源文件。
2手机屏幕的适配器
同理,可以让相应的图片资源在不同的语言的时候显示不一样,如在英国的语言时候显示英国国旗,中国的语言时候显示中国国旗。其实程序的很多布局文件和图像显示上也采取类似的方式,在分辨率大的手机上布局和分辨率小的手机上程序的布局也可以不一样,也是创建与默认资源文件相同的名字+特别的标识,如drawable文件就有好多默认种类,如hdpi(高分辨率),ldpi(低分辨率)等等。其实就是在不同的情况下activity调用的资源不同,但是里面的资源的名字一样。为了程序不出错,所有的资源文件都应该设置一个默认的资源文件。
首先在安卓app启动的时候会根据用户手机设置里的语言获取用户是哪个国家,然后调用相应的资源文件。
打个最简单的hello world!程序,在src资源文件下可以在values里找到app的文件名如下:
<string name="app_name">IIn</string> <string name="hello_world">Hello world!</string> <string name="action_settings">Settings</string>
这其实是应用程序默认的读取的string.xml文件,若想在英国显示英文,在中国显示:“你好世界!”,可以src下创建另外的一个文件名字叫“values-zh”,并且复制默认values文件里的文件,并且将相应的字符串该为中文的(注意 name不要修改):
<string name="app_name">国际化</string> <string name="hello_world">你好世界!</string> <string name="action_settings">设置</string>
这样如果用户手机语言设置为中文的时候打印出来的就是”你好世界“,一般文件命名是固定的是"values-"加国家的标识,若想知道其他国家的标识我们可以通过打开IE浏览器,在工具、Internet选项、语言里,点击”添加“,就会出现各个国家的名字后面的小写字母就是国家语言的标识,如下图:(values-zh)就表示在中文的时候执行程序读取的资源文件。
2手机屏幕的适配器
同理,可以让相应的图片资源在不同的语言的时候显示不一样,如在英国的语言时候显示英国国旗,中国的语言时候显示中国国旗。其实程序的很多布局文件和图像显示上也采取类似的方式,在分辨率大的手机上布局和分辨率小的手机上程序的布局也可以不一样,也是创建与默认资源文件相同的名字+特别的标识,如drawable文件就有好多默认种类,如hdpi(高分辨率),ldpi(低分辨率)等等。其实就是在不同的情况下activity调用的资源不同,但是里面的资源的名字一样。为了程序不出错,所有的资源文件都应该设置一个默认的资源文件。
相关文章推荐
- 腾讯龙界启示录 v2.1.0 安卓版
- mac 常用 终端命令
- HDU 1286 找新朋友【欧拉函数 最基础应用】
- 1083. List Grades
- windows应用程序双机调试方法
- Qt QTreeWidget 树形结构实现
- python嵌套dict的深度遍历合并
- zen-Coding在Notepad++中的使用
- android gif 动画播放
- http的状态响应码
- 链式A+B
- 【转】我的华为面试经历——技术服务
- 排序算法小结
- IOS第12天(2,UINavigationController导航控制器)
- C/C++之回调函数
- NSRegularExpression的使用,获取所有符合条件的结果
- 高精度减法,高精度乘法
- STL - vector algorithm
- Ubuntu下Sublime Text 3无法输入中文的解决方案
- Spring现有版本和下载地址