Android 实现语言切换

Android APP如果要实现语言(中英文为例)的切换该怎么做呢?

1. 在res文件下建立文件夹values-en,并且新建strings.xml文件

strings.xml

文件内容对应如下:

  • values/strings.xml:


    values/strings.xml
  • values-en/strings.xml:


    values-en/strings.xml

2. 实现语言切换的方法:

Configuration config = getResources().getConfiguration(); Resources resources = getResources(); if (config.locale.equals(Locale.ENGLISH)){//如果已经为英文 config.locale = Locale.CHINESE;//切换中文 }else if (config.locale.equals(Locale.CHINESE)){//如果已经为中文 config.locale = Locale.ENGLISH;//切换英文 } DisplayMetrics dm = resources.getDisplayMetrics(); resources.updateConfiguration(config, dm);

3. 在AndroidManifest.xml文件中对需要改变语言的Activity添加属性android:configChanges="locale"

AndroidManifest.xml

小提示:如果需要保存用户修改的语言以便下一次打开APP时改变语言,可以将用户选择的信息保存至SharedPreferences储存类或者数据库中,在打开时读取判断即可,这里不详细叙述

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,328评论 19 139
  • 让程序支持语言国际化,这是个基础知识点,做android开发的或多或少都知道一些,只是可能大家在做工作的时候,可能...
    SupLuo阅读 9,478评论 0 51
  • 最近公司的 App 里需要用到多语言切换,简单来说,就是如果用户没有选择语言选项时,App 默认跟随系统语言,如果...
    牙锅子阅读 11,943评论 0 20
  • Correctness AdapterViewChildren Summary: AdapterViews can...
    MarcusMa阅读 12,868评论 0 6
  • 这里的多语言切换专指应用内的多语言切换,不涉及直接通过应用修改系统语言设置的功能。比如微信里面的 我 -> 设置 ...
    apkcore阅读 10,501评论 0 3