多语言适配

1、准备语言资源,values-zh、values-en、values-fr(中文、英语、法语)等文件夹下String文件

2、在要继承的BaseActivity(或者BaseFragment)添加方法

protected void switchLanguage(String language) {
		// 设置应用语言类型
		Resources resources = getResources();
		Configuration config = resources.getConfiguration();
		DisplayMetrics dm = resources.getDisplayMetrics();
		if (language.equals("en")) {
			config.locale = Locale.ENGLISH;
		} else if(language.equals("zh")){
			config.locale = Locale.SIMPLIFIED_CHINESE;
		}else if(language.equals("fr")){
			config.locale = Locale.FRENCH;
		}else{
			return;
		}
		resources.updateConfiguration(config, dm);
		// 保存设置语言的类型
		SharedPreferencesUtil.putSharePre(context, "Language", language);
	}

3、在切换语言的界面选择语言

	String language = SharedPreferencesUtil.getSharePreStr(getActivity(),
				"Language");
		switch (arg0.getId()) {
		case R.id.btn_zh:
			if (!language.equals("zh")) {
				switchLanguage("zh");
			} else {
				return;
			}
			break;

		case R.id.btn_en:
			if (!language.equals("en")) {
				switchLanguage("en");
			} else {
				return;
			}
			break;
			
		case R.id.btn_fr:
			if (!language.equals("fr")) {
				switchLanguage("fr");
			} else {
				return;
			}
			break;

		default:
			break;
		}
		getActivity().finish();
	

	}

最后需要重启页面


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值