Android轻松实现多语言的方法示例
作者:你在笑吗 发布时间:2023-02-17 19:33:38
标签: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();
}
});
效果演示~~~
来源:http://www.jianshu.com/p/af20ae5e4816
0
投稿
猜你喜欢
- 1 Android SDK自带的org.json解析解析原理: 基于文档驱动,需要把全部文件读入到内存中,然后遍历所有数据,根据需要检索想要
- 本文实例为大家分享了WinForm实现鼠标拖动控件跟随效果的具体代码,供大家参考,具体内容如下1. 运行初始窗口如下:2. 拖动后效果如下:
- 前言:干了这几个项目,也做过几次文件上传下载,要么是copy项目以前的代码,要么是百度的,虽然做出来了,但学习一下原理弄透彻还是很有必要的。
- 一、注解(annotations)列表@SpringBootApplication:包含了@ComponentScan、@Configura
- 这篇文章主要介绍了SpringBoot多模块项目框架搭建过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
- 一、html代码 &n
- 本文实例为大家分享了Java Socket编程实现多人交互聊天室的具体代码,供大家参考,具体内容如下本项目由三个.java文件(
- 本文实例为大家分享了android桌面悬浮窗,实现录屏时间控制显示效果的具体代码,供大家参考,具体内容如下悬浮窗效果如上图所示:很简单的一个
- 该接口实现了序列化,声明为 public interface Key extends SerializableKey 是所有密钥的顶层接口。
- 1、在build.gradle(Module)里引入依赖,然后重构(sync Now):android { ...
- 相似处  C++作为C的进阶版,可以调用C的库函数。C++标准库包括了C标准库,C++头文件cctype
- 之前写了一个WPF的圆形环绕的Loading动画,现在写一个Winform的圆形环绕的Loading动画。1.新建Winform项目,添加一
- 在许多Java面试中,我们经常会看到关于Java类加载机制的考察,例如下面这道题:class Grandpa{static{System.o
- 1.Java集合框架是什么?说出一些集合框架的优点?每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、Ha
- 前言本文介绍在spring mvc中非常重要的注解@ModelAttribute.这个注解可以用在方法参数上,或是方法声明上。这个注解的主要
- using System;using System.Collections.Generic;using System.Globalizati
- 这一节我们先写一个简单点的Demo来测试易宝支付的流程,熟悉这个流程后,再做实际的开发,因为是一个Demo,所以我没有考虑一些设计模式的东西
- 本文实例讲述了Android开发实现ImageView加载摄像头拍摄的大图功能。分享给大家供大家参考,具体如下:这个方法是从官方demo中摘
- 一. 引用的概念引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。
- 前言最近接手的项目里涉及到了 GIF 动图的播放与监听,在上一版本中对于 GIF 的处理是由 H5 来实现的,因为考虑到用户体验,因此现在的