Android实现应用内语言切换,android 应用内切换 多国语言

微信中可以动态设置,apk的语言版本,最近尝试实现了这个功能。我们知道,android本身就支持多国语言版本的。不过这个语言的切换 依赖于系统的的语言设置,见图 也依赖apk本身values多国语言的资源配置,en代表英文,zh代表中文 通常来说,在android系统上实现功能,最好的借助系统提供的api,如果没有明确的api,则想办法曲线救国。实际上本博客内提供的实现方法,就是一个曲线救国的方式...
摘要由CSDN通过智能技术生成

微信中可以动态设置,apk的语言版本,最近尝试实现了这个功能。

我们知道,android本身就支持多国语言版本的。

不过这个语言的切换 依赖于系统的的语言设置,见图

0818b9ca8b590ca3270a3433284dd417.png

也依赖apk本身values多国语言的资源配置,en代表英文,zh代表中文

0818b9ca8b590ca3270a3433284dd417.png

通常来说,在android系统上实现功能,最好的借助系统提供的api,如果没有明确的api,则想办法曲线救国。

实际上本博客内提供的实现方法,就是一个曲线救国的方式,下面就介绍下他的核心思路。

1.在values中配置相应的 语言资源

2.更改当前系统Configuration的配置信息

3.指定的控件重新加载 语言资源

第一步,大家都会,不多做介绍

第二步,直接上代码

// 刷新显示配置-

public void refreshTheLanguage() {

// 得到SharedPreferences中存储的 语言配置信息

String str = getLanguage();

Resources localResources = this.context.getResources();

// 判断 系统配置设置的 国家语言 是否和 SharedPreferences中存储的 一致

if (!localResources.getConfiguration().locale.getLanguage().equals(str)) {

// 得到系统配置信息类

Configuration localConfiguration = context.getResources()

.getConfiguration();

// 创建Locale类(简单理解为 所在地区 类)

Locale localLocale = new Locale(str);

// 设置默认地区信息

Locale.setDefault(

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值