最近做了个小项目,领导要求添加可以切换中英文的功能,自己实现了这么一个效果:
这里说一下我的实现思路:
1.编写不同语言环境的string.xml文件
2.编写一个工具类修改程序的配置信息
3.销毁重建activity使配置生效
4.重建activity后根据在主线程中存储的语言标识修改按钮图标(右上角的按钮)
1.编写不同语言环境的string.xml文件
android studio生成不同语言环境的string.xml文件
参考:
Android studio 添加多语言支持
2.编写一个工具类修改程序的配置信息
package com.phyplusinc.android.phymeshprovisioner.utils;
import android.content.Context;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.util.DisplayMetrics;
import android.util.Log;
import java.lang.ref.WeakReference;
import java.util.Locale;
/**
* @Author: david.lvfujiang
* @Date: 2019/12/11
* @Describe:语言切换工具类
*/
public class LanguageUtil {
//弱引用持有Context
private static WeakReference<Context> weakReference;
public static String settingLanguage(Context context, ThreadLocal threadLocal) {
weakReference =