不想废话,直接上干货
@Override
protected void attachBaseContext(Context newBase) {
Locale newLocale;
if (SPUtil.getBoolean(newBase,"isEN")) {
//设置英文
newLocale = Locale.ENGLISH;
} else {
//设置中文
newLocale = Locale.SIMPLIFIED_CHINESE;
}
Context context = MyContextWrapper.wrap(newBase, newLocale);
super.attachBaseContext(context);
}
是的,直接在你继承的BaseActivity里面重载(@Override)attachBaseContext方法即可。
里面有一个自定义的MyContextWrapper:
import android.content.Context;
import android.content.ContextWrapper;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.os.Build;
import android.os.LocaleList;
import java.util.Locale;
public class MyContextWrapper extends ContextWrapper {
public MyContextWrapper(Con