您现在的位置是:首页 > 文章详情

Android 国际化

日期:2017-05-15点击:501
由于公司的项目是投放 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"> 

 

原文链接:https://yq.aliyun.com/articles/303943
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章