Android设置app显示指定国家语言

1.首先知道创建多个values方法,strings.xml是你设置多国语言地方

 

这里是我创建的一个values-en文件家(可以根据不同国家建立不一样后缀的values) 

 2.这里是代码部分

   2.1,AndroidManifest.xml内添加  android:configChanges="locale"


    <application
        android:name=".App"
        android:configChanges="locale">

2.2,在BaseActivity的setContentView方法之前添加setLanguage方法。(之前看其他资料还需要在Application初始化地方也添加此方法,但测试无效,只需要在BaseActivity的setContentView之前添加就可以。)

fun setLanguage(context: Context) {
    /**
     *  这里是不同国家也就是创建的values-en的标识,
     *  可设置多个国家在下边的when()函数内进行多国判断,
     *  我这里只设置了英语,默认为汉语
     */
    val language = "en"
    val resources = context.resources
    val config = resources.configuration
    val displayMetrics = resources.displayMetrics
    config.setLocale(Locale.getDefault())

    when (language) {
        "en" -> config.setLocale(Locale.ENGLISH)

        else -> config.setLocale(Locale.getDefault())

    }
    resources.updateConfiguration(config, displayMetrics)
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值