由于公司的项目是投放 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 国际化相关推荐

  1. Android8.0 学习 (17)Android国际化(多语言)实现,支持8.0

    Android国际化(多语言)实现,支持8.0 前言 最近因为项目中使用了国际化,所以正好研究了下实现方法: 首先说下项目需求: 可以随着系统切换语言而切换语言,不支持的语言显示默认 用户可以选择语言 ...

  2. android国际化语言编码对照表

    android国际化语言编码对照表 (查询整理以备不时之需,以下内容均已附原文连接) 中文(中国):values-zh-rCN 中文(台湾):values-zh-rTW 中文(香港):values-z ...

  3. 解决方案之Android 国际化资源完美兼容6.0,7.0,8.0

    在Android世界中,一般App应用的语言是根据Android系统显示的语言变化的,但是有时候有些应用需要单独设置App的显示语言. Android 国际化实现 国际化一般最常用的是支持简体中文和美 ...

  4. Android 国际化与本地化探索

    Android 国际化与本地化探索 1.翻译注意事项 1.1.尽量避免使用简写! 1.2.严禁回车.换行等! 1.3.尽量避免使用&.'."等特殊符号! 1.4.注意空格的使用! 2 ...

  5. Android 国际化问题

    国际化 根据系统设置的语言环境来从不同的文件中获取资源 1.创建不同的语言码 地区码 资源文件 注意:key值要一致 2.设置语言码  地区码 中国  zh cn 美国  en  us <str ...

  6. android国际化(多语言)

    1.  很大程度上,为什么我们能如此方便的实现国际化.分辨率匹配等? 主要就是得益于 Android 中这种独特的资源管理方式.程序员的代码可以不直接和资源发生关系.Android 中,我们通常通过 ...

  7. 【Android】Android国际化

    1. Android程序的国际化 ----------------------- 国际化的英文单词是Internationalization,因为这个单词太长了,有时也简称为I18N,其中的I是这个单 ...

  8. Android国际化多语言切换

    关于App国际化,之前有讲到国际化资源.字符换.布局相关,想要了解的猛戳用力抱一下APP国际化.借着本次重构多语言想跟大家聊一下多语言切换,多语言切换对于一款国际化App来讲是重中之重,并非难事,但是 ...

  9. android国际化设置语言后不起作用,Android旋转屏幕后国际化语言失效的解决的方法...

    本文已同步至个人博客:liyuyu.cn 近期在项目中使用到了国际化多语言(英文+中文),但在使用时发现了一个问题.当屏幕旋转后.APP语言(中文)自己主动转换为了系统语言(英文).设置了Activi ...

最新文章

  1. iOS 图片处理-图片旋转和裁剪
  2. AI总监王长虎被曝离职,字节跳动AI Lab 再失一将!
  3. centos得mysql安装教程_Centos下Mysql安装图文教程_MySQL
  4. win8计算机休眠的区别,详细说明win8和win10系统中待机,休眠和睡眠的功能和区别_Computer Basics_IT /...
  5. Spark实战之读写HBase
  6. oracle报错00838,oracle11g的内存分配不当,导致的错误ORA-01034,ORA-00838,ORA-27101
  7. android 标题栏不显示?
  8. 22 副为程序员定制的对联,总有一副适合你...流泪
  9. wr885n虚拟服务器设置,动态IP设置:选择动态IP(以太网宽带
  10. java beanshell_Java脚本-BeanShell
  11. 离合器膜片弹簧的优化设计matlab,基于matlab目标函数的建立优化离合器膜片弹簧的设计研究.doc...
  12. 基于Vue的单页面格式化数据高亮编辑器组件:兼容json/xml/html/txt多种格式
  13. Node.js版-七夕无事,人艰勿拆,求别说...
  14. 计算机蓝屏无法启动不了系统怎么办,电脑蓝屏重启开不了机怎么回事_电脑蓝屏之后启动不了的处理办法-系统城...
  15. 宿命论:为什么iPad的最大敌人会是iPhone?
  16. 设计模式——软件设计的太极剑法
  17. Beaver‘s Calculator
  18. CSS3 Tranform详解
  19. EIA/TIA 568国际综合布线标准
  20. 图片马 php 菜刀,图片马的制作以及菜刀的使用

热门文章

  1. php setcookie使用变量,PHP setcookie() 函数
  2. 化工原理第四版课后习题答案
  3. 三十二楼层选几层最好_32层的房子买几楼好
  4. 北京内推 | 微软亚洲研究院MSRA STCA招聘多模态算法实习生
  5. EMNLP 2021 | 正则表达式与神经网络的深度融合(续)
  6. 详解京东商城智能对话系统(生成+检索)
  7. IJCAI 2020 | 淡妆浓抹总相宜之人脸上妆
  8. ACL 2020 | 多跳问答的基于对齐的无监督迭代解释检索方法
  9. 岗位推荐 | 清华大学CoAI实验室招聘博士后
  10. 直播预告 | 清华大学博士生牛艺霖:常识知识获取与常识推理