安卓 A13 MTK 实现一个应用内英文和中文两个语言的切换的代码实事例
时间: 2023-11-27 07:49:57 浏览: 76
要实现应用内语言切换,可以使用 Android 应用程序包的多语言支持。通过该支持,您可以在应用程序中轻松添加多种语言,包括英语、中文等。
下面是实现应用内英文和中文两个语言的切换的代码示例:
1. 在 res 目录下创建 values-zh 文件夹,然后在该文件夹中创建 strings.xml 文件。在 strings.xml 文件中添加中文文本,如下所示:
```xml
<resources>
<string name="hello_world">你好,世界!</string>
</resources>
```
2. 在 res 目录下创建 values-en 文件夹,然后在该文件夹中创建 strings.xml 文件。在 strings.xml 文件中添加英文文本,如下所示:
```xml
<resources>
<string name="hello_world">Hello World!</string>
</resources>
```
3. 在 Activity 中添加以下代码以切换应用程序的当前语言:
```java
private void setLocale(String lang) {
Locale locale = new Locale(lang);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.setLocale(locale);
getResources().updateConfiguration(config, getResources().getDisplayMetrics());
recreate();
}
```
4. 在 Activity 中添加以下代码以在用户界面中显示文本:
```java
TextView textView = findViewById(R.id.text_view);
textView.setText(getString(R.string.hello_world));
```
5. 在应用程序的菜单或设置中添加一个选项以允许用户更改应用程序的当前语言。例如:
```java
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
showLanguageDialog();
return true;
}
return super.onOptionsItemSelected(item);
}
private void showLanguageDialog() {
final String[] languages = {"中文", "English"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("选择语言");
builder.setItems(languages, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String lang = "zh";
if (which == 1) {
lang = "en";
}
setLocale(lang);
}
});
builder.show();
}
```
这样,当用户选择“中文”或“English”时,应用程序的当前语言将更改为相应的语言,并且用户界面中的文本将相应更新。
阅读全文