Android 国际化
由于公司的项目是投放 google play store , 所以要做国际化。国际化遇到的两个大问题
- 字符串国际化
- 布局样式国际化
一:字符串国际化
解决这个问题很简单,在res目录下放不同国家的value文件夹,在相应文件夹里的 strings.xml 文件放对应的语言即可。比如

二:布局样式国际化
中国人的阅读习惯是从左往右阅读、阿拉伯国家的阅读习惯是从右往左读。所以同一个布局在不同的语言环境下,显示的样式是不一样的。比如:
默认情况下的布局

阿拉伯语言情况下的布局

例子中的布局很简单,左边是一个文本,文本的后面有一张图片。
可以看到在阿拉伯语言环境下的页面布局,文本跑到了屏幕的右侧,而图片却不见了。(前面已经说过阿拉伯国家的阅读习惯是从右往左的)
解决方案:
- 方案一:建立多个layout 文件夹,从新布局
- 方案二:Android 4.2系统之后,Google在Android中引入了RTL布局
对于方案一,这个方法比较老了,而且几乎要把所有的布局重写一遍,所以推荐使用第二种方法。在Android 4.2系统之后,Google在Android中引入了RTL布局,更好了支持了由右到左文字布局的显示,为了更好的兼容RTL布局,google推荐使用MarginStart和MarginEnd来替代MarginLeft和MarginRight,这样应用可以在正常的屏幕和由右到左显示文字的屏幕上都保持一致的用户体验。
主要的属性有
android:layout_marginStart
android:layout_marginEnd
android:paddingStart
android:paddingEnd
android:layout_toStartOf
android:layout_toEndOf
用RTL写的布局为:
注意:
在使用的时候RTL布局的时候,AndroidManifest.xml 中添加RTL的支持
<application
android:name="com.yiba.sharewe.application.APP"
android:allowBackup="true"
android:hardwareAccelerated="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
Android 国际化的更多相关文章
- android 国际化 横屏(land) 竖屏(port)margin外边距和padding内边距
android 国际化 横屏(land) 竖屏(port) 边距又分为内边距和外边距,即margin和padding.
- android国际化操作
1.简单介绍 我们知道在java中通过.properties文件来配置资源文件,一般用的有中文message_zh_CN.properties和英文message_en_US.properties两个 ...
- android国际化(多语言)
2013-03-18 23:45 13390人阅读 评论(0) 收藏 举报 1. 很大程度上,为什么 ...
- Android 国际化图片资源文件
国际化 与字符串国际相似,在 res 下新建 drawable-zh 文件夹,存放中文环境下的图片 新建 drawable-en 作为英语环境下的图片 在 eclipse ...
- android 国际化 设置
复制了他人的方法 方法和步骤 1 配置选项包括语言代号和地区代号.表示中文和中国的配置选项是 zh-rCN; 表示英文和美国的配置选项是en-rUS.其中,zh 和 en 表示中文和英文: 2 如果想 ...
- Android 国际化文字
本例演示中英文切换 在resource文件夹添加values-zh,这个文件夹对应中文环境的values文件夹,然后添加strings.xml: <?xml version="1.0& ...
- Android 国际化字符串资源,各语言目录表及从字符串资源文件读字符方法
字符串国际化 只要在 res 目录下 建对应语言的 values 目录即可. res下values是所有资源(包括字符串资源)的默认目录,如果没有特指资源目录或找不到某资源时,就用它. 如values ...
- android国际化
语言的国际化 为了提供不同语言的版本,只需要在res中新建几个values文件夹就行 不过文件夹有自己的命名规则 values-语言代码-r国家或者地区的代码 然后我们只需要将不同语言的string. ...
- Android国际化-图片国际化和文本字符国际化
注意: 1.是在res目录下面,新建文件夹 2.需要国际化的文本资源和图片资源名称是一样的 图片国际化 默认:drawable-xhdpi 中文简体:drawable-zh-rCN-xhdpi(或者不 ...
随机推荐
- [Azure附录]2.在Windows Server 2012中配置AD域服务
<Windows Azure Platform 系列文章目录> 本章我们配置的AD域名为contoso.com 1.安装完AD域服务后,我们返回服务器管理器界面,点击"将此服务器 ...
- String.split()用法以及特殊分隔符注意,ps:|
转载:http://www.cnblogs.com/mingforyou/archive/2013/09/03/3299569.html 在java.lang包中有String.split()方法,返 ...
- 50款免费 PSD 名片设计模板源文件下载《下篇》
名片是陌生人之间建立联系的最便捷.最有效的工具.名片它可能是给你的客户留下正面的印象第一步,另一方面,名片是一个企业最重要和最符合成本效益的营销工具之一,尤其是对于刚刚起步的企业.这里收集了50款免费 ...
- asp.Net获取脚本传过来的参数的方法汇总
最基础的知识啦,不过,还是记下来吧. 接收用get 方法传输的数据的写法: string userName= Request.QueryString["name"]; 接收用pos ...
- html/css基础篇——DOM中关于脱离文档流的几种情况分析
所谓的文档流,指的是元素排版布局过程中,元素会自动从左往右,从上往下的流式排列.并最终窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素.脱离文档流即是元素打乱了这个排列,或是从排版中拿走. ...
- JSP中<img>标签引用本地图片
问题描述: jsp页面中<img>标签如何读取本地文件夹中的图片. 问题起因: 由于上传图片至本地文件夹中,图片路径为: D:/upload/file/image/img.jpg 所以将这 ...
- 新学C#的List<T>总结
所属命名空间:using System.Collections.Generic; List<T>类是 ArrayList 类的泛型等效类. 该类使用大小可按需动态增加的数组实现 IList ...
- Spring、mybaits整合
mybatis.cfg.xml <!DOCTYPE configuration PUBLIC "-//mybatis.org/DTD Config 3.0//EN" &quo ...
- Scalaz(53)- scalaz-stream: 程序运算器-application scenario
从上面多篇的讨论中我们了解到scalaz-stream代表一串连续无穷的数据或者程序.对这个数据流的处理过程就是一个状态机器(state machine)的状态转变过程.这种模式与我们通常遇到的程序流 ...
- HDU 3328 Flipper 栈 模拟
首先想说,英语太烂这题读了很长时间才读懂......题意是说输入有几张牌,然后输入这些牌的初始状态(是面朝上还是面朝下),然后输入操作方式,R表示翻一下右边的牌堆,L表示翻一下左边的牌堆,直到最后摞成 ...