Android轻松实现多语言的方法示例
作者:你在笑吗 时间:2023-02-17 19:33:38
本文介绍了Android轻松实现多语言的方法示例,分享给大家,具体如下:
1.创建多语言包
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();
}
});
效果演示~~~
来源:http://www.jianshu.com/p/af20ae5e4816
标签:Android,多语言
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
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
![](https://img.aspxhome.com/file/2023/9/93299_0s.jpg)
教你使用Java获取当前时间戳的详细代码
2021-09-19 04:41:02
IDEA实现添加 前进后退 到工具栏的操作
2021-08-30 21:34:48
![](https://img.aspxhome.com/file/2023/7/62687_0s.jpg)
C# 开发(创蓝253)手机短信验证码接口的实例
2023-05-22 11:15:54
详解Springboot分布式限流实践
2021-07-12 14:29:18
![](https://img.aspxhome.com/file/2023/7/64217_0s.png)
Spring Security验证流程剖析及自定义验证方法
2023-10-01 22:05:58
![](https://img.aspxhome.com/file/2023/3/92643_0s.png)
Java设计模式之享元模式
2022-09-23 12:16:07
![](https://img.aspxhome.com/file/2023/3/66063_0s.jpg)
android ItemTouchHelper实现可拖拽和侧滑的列表的示例代码
2023-08-14 14:51:51
![](https://img.aspxhome.com/file/2023/8/100588_0s.gif)
使用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
![](https://img.aspxhome.com/file/2023/7/110757_0s.png)
如何解决Java多线程死锁问题
2022-08-11 15:51:02
![](https://img.aspxhome.com/file/2023/0/84630_0s.png)
c# 将Minio.exe注册成windows服务
2022-09-25 20:51:18
![](https://img.aspxhome.com/file/2023/8/96358_0s.png)
Java使用动态规划算法思想解决背包问题
2022-12-02 03:53:49
![](https://img.aspxhome.com/file/2023/7/89497_0s.png)
java 图片验证码的实现代码
2023-11-09 13:33:52