Android如何实现中英文语言切换
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要介绍Android如何实现中英文语言切换,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!代码@Override protected void attachBas
千家信息网最后更新 2025年11月07日Android如何实现中英文语言切换
这篇文章主要介绍Android如何实现中英文语言切换,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
代码
@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(Context base) { super(base); } public static ContextWrapper wrap(Context context, Locale newLocale) { Resources res = context.getResources(); Configuration configuration = res.getConfiguration(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { configuration.setLocale(newLocale); LocaleList localeList = new LocaleList(newLocale); LocaleList.setDefault(localeList); configuration.setLocales(localeList); context = context.createConfigurationContext(configuration); } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { configuration.setLocale(newLocale); context = context.createConfigurationContext(configuration); } return new ContextWrapper(context); }}关于SPUtil,就是一个简单的SharedPreferences内容存取类:
import android.content.Context;import android.content.SharedPreferences; public class SPUtil { /** * 万能的put方法 (能存储String/int/boolean类型的值) * @param context * @param key * @param value */ public static void put(Context context, String key, Object value) { SharedPreferences sp = context.getSharedPreferences("config", Context.MODE_PRIVATE); SharedPreferences.Editor edit = sp.edit(); if (value instanceof String) { edit.putString(key, (String) value); } else if (value instanceof Integer) { //JDK1.7之后可以把引用数据类型转为基本数据类型 edit.putInt(key, (int) value); } else if (value instanceof Boolean) { edit.putBoolean(key, (boolean) value); } edit.apply(); } /** * 获取String * @param context * @param key * @return */ public static String getString(Context context, String key) { SharedPreferences sp = context.getSharedPreferences("config", Context.MODE_PRIVATE); return sp.getString(key, ""); } /** * 获取int * @param context * @param key * @return */ public static int getInt(Context context, String key) { SharedPreferences sp = context.getSharedPreferences("config", Context.MODE_PRIVATE); return sp.getInt(key, 0); } /** * 获取Boolean * @param context * @param key * @return */ public static boolean getBoolean(Context context, String key) { SharedPreferences sp = context.getSharedPreferences("config", Context.MODE_PRIVATE); return sp.getBoolean(key, false); } /** * 清空首选项 * * */ public static void clearData(Context context){ SharedPreferences sp = context.getSharedPreferences("config", Context.MODE_PRIVATE); sp.edit().clear().apply(); } }代码到这里也就结束了,下面是添加国际化语言的简单步骤:


切记修改语言之后一定要重新加载页面,不然不会立即生效
SPUtil.put(SettingActivity.this,"isEN",isChecked);recreate();
以上是"Android如何实现中英文语言切换"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
语言
内容
类型
中英
切换
代码
数据
方法
篇文章
价值
兴趣
国际
小伙
小伙伴
就是
是的
更多
步骤
知识
行业
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全风险解决措施
中国第一网络安全员
网络技术职业认知
mysql数据库查询好慢
易语言读取数据库多好慢
写篇关于网络安全的英语作文
pubg选什么服务器比较好
菲律宾服务器选购
服务器死锁是什么
临武县浩宁软件开发工作室
关于网络安全方面的招聘企业
实时存储型数据库
罗湖区服务器机柜价格
唐山网络技术联系方式
松原网络安全电话
培训网络安全定制版
数据库定时执行sql语句
视频管理服务器参数
servlet上传进数据库
南京都有哪些软件开发的公司
网络营销缺乏网络技术人才
北京很久互联网科技公司靠谱吗
语音会议软件开发有多少
广东高科技软件开发创新服务
苹果公司负责网络安全的部门
服务器内存颗粒的生产厂商
特朗普解雇网络安全局长
济宁软件开发哪家靠谱
学校信息化网络安全保障
获嘉县优亿网络技术有限公司