欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2023-10-19 08:41:23
本文介绍了android轻松实现多语言的方法示例,分享给大家,具体如下: 1.创建多语言包 2.首先在oncreate方法中调用此方法查看上一次保存的是什么...

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

1.创建多语言包

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轻松实现多语言的方法示例

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