多语言适配

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();
	

	}

最后需要重启页面


你可能感兴趣的:(多语言适配)