android的app语言无法切换,Android应用实现多语言切换

关于Android应用实现多语言切换,有好几种办法,网上也搜到很多资料,这里有个简单有效的办法。

步骤如下:

在资源文件中新建一个文件夹values-en,在里面新建一个strings.xml,把默认values文件夹中的strings.xml中的内容拷贝一份到values-en中的strings.xml,再把该文件夹中的中文内容转换为英文,例如设置转换为set

然后在主Activity中添加一个方法

代码如下:

public void switchLanguage(Locale locale) {

Configuration config = getResources().getConfiguration();// 获得设置对象

Resources resources = getResources();// 获得res资源对象

DisplayMetrics dm = resources.getDisplayMetrics();// 获得屏幕参数:主要是分辨率,像素等。

config.locale = locale; // 简体中文

resources.updateConfiguration(config, dm);

}

然后再在OnCreate函数中调用(也必须在OnCreate函数中调用才行)

例如:

switchLanguage(Locale.getDefault());  或  switchLanguage(Locale.US);

最后需要注意的是:还需要在AndroidManifest.xml文件中要配置两个地方:

1、在对应activity节点中加上这个属性: android:configChanges="locale"

2、添加权限: 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值