导航:首页 > 操作系统 > android监听语言切换

android监听语言切换

发布时间:2025-08-11 05:09:15

1. android应用内怎么设置语言切换

1.在工程res文件下添加对应语种的values文件,ar:阿拉伯语, en:英语 zh_rCN: 简体中文
截图如下:

2 .在功能清单文件中对要进行切换acitivity 进行配置添加

android:configChanges="locale"

3.对语言选择的处理

public class MainActivity extends Activity {

Context context = MainActivity.this;;
int languageId;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
read();//设置
setContentView(R.layout.main);

findViewById(R.id.btn_change).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
save();
}
});
}

//保存
private void save() {
String[] languages = { "默认", "CN", "EN" };
AlertDialog.Builder builder = new AlertDialog.Builder(context,
android.R.style.Animation_Dialog);
builder.setTitle("选择语言");
final SharedPreferences languagePre = context.getSharedPreferences(
"language_choice", context.MODE_PRIVATE);
final int id = languagePre.getInt("id", 0);
builder.setSingleChoiceItems(languages, id,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int index) {
switch (index) {
case 0:
// 系统默认语言
languageId = 0;
break;
case 1:
// 简体中文
languageId = 1;
break;
case 2:
// 英语
languageId = 2;

break;
case 3:
// 阿拉伯语
languageId = 3;

break;
default:
break;
}
languagePre.edit().putInt("id", languageId).commit();
}
});
// 保存
builder.setPositiveButton("保存", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
((Activity) context).finish();
Intent intent = new Intent();
intent.setClass(context, MainActivity.class);
context.startActivity(intent);
}
});
builder.show();
}
//读取
private void read() {
SharedPreferences languagePre = getSharedPreferences("language_choice",
Context.MODE_PRIVATE);
int id = languagePre.getInt("id", 0);
Log.d("MainActivity", "langauge_id=" + id);
Toast.makeText(context, "langauge_id=" + id, Toast.LENGTH_LONG).show();
// 应用内配置语言
Resources resources = getResources();// 获得res资源对象
Configuration config = resources.getConfiguration();// 获得设置对象
DisplayMetrics dm = resources.getDisplayMetrics();// 获得屏幕参数:主要是分辨率,像素等。
switch (id) {
case 0:
config.locale = Locale.getDefault(); // 系统默认语言
break;
case 1:
config.locale = Locale.SIMPLIFIED_CHINESE; // 简体中文
break;
case 2:
config.locale = Locale.ENGLISH; // 英文
break;
default:
config.locale = Locale.getDefault();
break;
}
resources.updateConfiguration(config, dm);
}
}

2. Android切换系统语言会做哪些操作

以MIUI系统为例,来说明一下切换系统语言步骤:

1、打开手机设置应用页面,选择“系统高级设置”选项。

3. 如何在android APP中设置系统语言

  1. 在不同的 value 文件夹下添加不同语言的string.xml文件,项目添加了英文、简体中文、繁体中文三种语言,如下图所示:

阅读全文

与android监听语言切换相关的资料

热点内容
程序员找实习的网站 浏览:173
核磁共振pdf 浏览:773
上海程序员带陕西女孩 浏览:878
方舟官服服务器怎么快速驯服炫彩龙 浏览:974
为什么看拔马蝇幼虫很解压 浏览:82
阿里云mqtt隧道服务器 浏览:748
多个pdf如何合并成一个 浏览:742
dos命令将txt导入xlsx 浏览:676
安卓和平精英最新版本怎么更新 浏览:313
linuxst开头的命令 浏览:239
文件夹创建很慢 浏览:645
程序员kindle 浏览:95
施耐德plc218编程软件 浏览:468
单片机课程报告 浏览:266
赛尔号xj命令有什么用 浏览:320
苹果解压图片怎么显示在图库 浏览:962
淘宝app源码下载 浏览:434
pdf旋转单页 浏览:622
php的性能最优化 浏览:511
php获取html页面数据 浏览:515