首页 > 系统 > Android > 正文

Android轻松实现多语言的方法示例

2019-10-22 18:24:07
字体:
来源:转载
供稿:网友

本文介绍了Android轻松实现多语言的方法示例,分享给大家,具体如下:

1.创建多语言包

Android,多语言,Android实现多语言

2.首先在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());  }

3.点击某个按钮弹出选择框选择语言包

  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,多语言,Android实现多语言

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到Android开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表