如何在Android中实现多语言
短信预约 -IT技能 免费直播动态提醒
本篇文章给大家分享的是有关如何在Android中实现多语言,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
创建多语言包
首先在onCreate方法中调用此方法查看上一次保存的是什么语言
public void setLanguage() { //根据读取到存放在sp里面的数据 进行设置 Configuration configuration = getResources().getConfiguration(); SharedPreferences sharedPreferences = getSharedPreferences("key", MODE_PRIVATE); int language = sharedPreferences.getInt("language", 0); switch (language) { case 0: configuration.setLocale(Locale.CHINESE); break; case 1: configuration.setLocale(Locale.ENGLISH); break; } getResources().updateConfiguration(configuration, getResources().getDisplayMetrics()); }
点击某个按钮弹出选择框选择语言包
btn_qiehuan.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String[] strings = {"简体中文", "English"}; //首次进入判断是否是中文语言 int selected = getSharedPreferences("language", Context.MODE_PRIVATE).getInt("language", -1); if (selected == -1) { String defaultLanguage = Locale.getDefault().toString(); if (defaultLanguage.equals(Locale.CHINESE.toString()) || defaultLanguage.equals(Locale.SIMPLIFIED_CHINESE.toString()) || defaultLanguage.equals(Locale.TRADITIONAL_CHINESE.toString())) { selected = 0; } else { selected = 1; } } new AlertDialog.Builder(MainActivity.this) .setSingleChoiceItems(strings, selected, new DialogInterface.OnClickListener() { //点击单选框某一项以后 public void onClick(DialogInterface dialogInterface, int i) { SharedPreferences preferences = getSharedPreferences("language", Context.MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putInt("language", i); editor.commit(); dialogInterface.dismiss(); //重启activity finish(); Intent intent = new Intent(MainActivity.this, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(intent); } }) .create() .show(); } });
以上就是如何在Android中实现多语言,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341