Android轻松实现多语言的方法示例
时间:2022-07-28
本文章向大家介绍Android轻松实现多语言的方法示例,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文介绍了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();
}
});
效果演示~~~
以上就是本文的全部内容,希望对大家的学习有所帮助。
- 用SPSS做数据分析?先弄懂SPSS的基础知识吧
- 学习笔记CB001:NLTK库、语料库、词概率、双连词、词典
- 时序列数据库武斗大会之 OpenTSDB 篇
- 应当使用 SQLite 的五个原因
- Apache Spark作为编译器:深入介绍新的Tungsten执行引擎
- DC/OS 的安装与部署
- Go语言实践:从新手入门到上线真实的小型服务所遇到的那些坑
- 4个简单的数据管理技巧
- MongoDB的设计模式策略
- 如何用容器实现生产级Redis sharding集群一键交付
- Hadoop旧mapreduce的map任务切分原理
- 解读Neo4j全新的Python驱动程序
- MySQL 5.7 X Plugin:流水线技术vs.并行查询技术
- 在下函数式编程,有何贵干?
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Redis在分布式项目中的应用
- 常见的Form表单提交方式
- 基于RPC实现服务的注册、发布和消费
- HttpClient技术
- JsonP------实现跨域请求
- ActiveMQ—基于Java的消息传递服务器
- SpringMVC知识体系搭建
- 你分得清MySQL普通索引和唯一索引了吗?
- 基于Dubbo的CRUD案例
- 在javaEE中,实现用户登陆功能的实现
- JavaEE中,实现登录时进行校验验证码的功能
- JavaEE中为删除数据操作与退出操作添加确认提示框
- JavaWeb中的实现页面跳转的同卵双胞胎兄弟——重定向与请求转发
- JavaWeb中的异卵双胞胎——监听器与过滤器
- JavaEE中的el 表达式以及JSTL详解