【问题标题】:Android12 -> configuration.setLayoutDirection(new Locale("ar")) not workingAndroid12 -> configuration.setLayoutDirection(new Locale(\"ar\")) 不工作
【发布时间】:2023-02-13 19:02:11
【问题描述】:

它适用于其他 Android 版本,但以下代码不适用于 Android 12 设备。我使用“ar”作为语言参数。

val configuration: Configuration = resources.configuration
configuration.setLayoutDirection(Locale(language))
resources.updateConfiguration(configuration, resources.displayMetrics)

【问题讨论】:

    标签: android kotlin locale arabic-support android-layout-direction


    【解决方案1】:

    我有同样的问题。也许是一个缓存来重新创建生命周期配置,我用这个:

    val intent = activity.intent
    activity.finish()
    startActivity(intent)
    

    它可以生效。

    【讨论】:

    【解决方案2】:

    我遇到了同样的问题并添加了这段代码,现在它可以工作了。我不知道这是否是有效的方法。

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            (context as Activity).window.decorView.layoutDirection = 
                if (Locale.getDefault().language.equals("fa"))
                      View.LAYOUT_DIRECTION_RTL else View.LAYOUT_DIRECTION_LTR
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-07
      • 2021-12-13
      • 1970-01-01
      • 2016-04-17
      • 1970-01-01
      相关资源
      最近更新 更多