Android 实现语言切换

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

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

Android 实现语言切换_第1张图片
strings.xml

文件内容对应如下:

  • values/strings.xml:


    Android 实现语言切换_第2张图片
    values/strings.xml
  • values-en/strings.xml:


    Android 实现语言切换_第3张图片
    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"

Android 实现语言切换_第4张图片
AndroidManifest.xml

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

你可能感兴趣的:(Android 实现语言切换)