中英文切换

under Android  tag     Published on July 16th , 2021 at 03:56 pm

Android 中英文切换

1. 创建 string.xml

2. 通过 Configuration 更新语言


创建 string.xml

  • 右键点击 res 创建 Android Resource Directory

  • 选择 Locale

  • 找到 en:English,OK 之后 values 文件夹下没有变化

  • 直接打开打开 string.xml,点击右上角的 Open editor

  • 点击图上的小圆球!在出现的列表里找到 English(U.S.) 点击

  • values 文件夹会多出一个 string.xml。

通过 Configuration 更新语言

切换后要 recreate()

public static void swithLang(Activity activity) {
        Resources resources = activity.getResources();
        Configuration config = resources.getConfiguration();
        String lang = SPUtil.getStringValue("language");
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
            if (lang.equals(Locale.ENGLISH.getLanguage())) {
                config.setLocale(Locale.CHINA);
                lang = "zh";
            } else {
                config.setLocale(Locale.ENGLISH);
                lang = "en";
            }
        } else {
            if (lang.equals(Locale.ENGLISH.getLanguage())) {
                config.locale = Locale.CHINA;
                lang = "zh";
            } else {
                config.locale = Locale.ENGLISH;
                lang = "en";
            }
        }
        SPUtil.putStringValue("language", lang);

        // updateConfiguration
        DisplayMetrics dm = resources.getDisplayMetrics();
        resources.updateConfiguration(config, dm);
    }

本文由 surface 创作,采用 知识共享署名4.0 国际许可协议进行许可,转载前请务必署名
  文章最后更新时间为:July 16th , 2021 at 03:56 pm
分享到:Twitter  Weibo  Facebook