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

作者:你在笑吗 时间:2023-02-17 19:33:38 

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

来源:http://www.jianshu.com/p/af20ae5e4816

标签:Android,多语言
0
投稿

猜你喜欢

  • Android 开发之dataBinding与ListView及事件

    2023-10-13 21:14:28
  • java获取json中的全部键值对实例

    2023-08-23 19:53:03
  • SpringBoot集成gRPC微服务工程搭建实践的方法

    2022-03-11 22:10:39
  • 2021最新Android笔试题总结美团Android岗职能要求

    2023-11-29 15:24:52
  • 教你使用Java获取当前时间戳的详细代码

    2021-09-19 04:41:02
  • IDEA实现添加 前进后退 到工具栏的操作

    2021-08-30 21:34:48
  • C# 开发(创蓝253)手机短信验证码接口的实例

    2023-05-22 11:15:54
  • 详解Springboot分布式限流实践

    2021-07-12 14:29:18
  • Spring Security验证流程剖析及自定义验证方法

    2023-10-01 22:05:58
  • Java设计模式之享元模式

    2022-09-23 12:16:07
  • android ItemTouchHelper实现可拖拽和侧滑的列表的示例代码

    2023-08-14 14:51:51
  • 使用Netty实现类似Dubbo的远程接口调用的实现方法

    2022-10-08 02:21:53
  • Android中ImageView用法实例分析

    2023-04-03 19:42:28
  • C#书写规范

    2023-07-09 09:15:57
  • C#实现协同过滤算法的实例代码

    2023-03-11 12:26:27
  • Android存储访问框架的使用小结

    2022-09-28 23:18:16
  • 如何解决Java多线程死锁问题

    2022-08-11 15:51:02
  • c# 将Minio.exe注册成windows服务

    2022-09-25 20:51:18
  • Java使用动态规划算法思想解决背包问题

    2022-12-02 03:53:49
  • java 图片验证码的实现代码

    2023-11-09 13:33:52
  • asp之家 软件编程 m.aspxhome.com