Android在运行时切换语言的最佳方式



我正在Android中寻找一种在运行时更改应用程序语言的好方法(也就是说,我希望按下按钮将字符串从语言a更改为语言B,而不会丢失当前的导航、状态、用户输入等(。到目前为止,我只找到了一种需要重新启动活动的方法,但由于我运行的是单个活动架构,这将重新启动整个应用程序,这并不理想。

那么,有人能提出一些在安卓系统中处理这一问题的方法吗?

val languageToLoad = "en" // your language fr etc
val locale = Locale(languageToLoad)
Locale.setDefault(locale)
val config = Configuration()
config.locale = locale
baseContext.resources.updateConfiguration(
config,
baseContext.resources.displayMetrics
)

我在应用程序中使用了一个名为"dev.b3nedikt.reword:reword"的外部库

在build.gradle文件中:

implementation 'dev.b3nedikt.viewpump:viewpump:4.0.7'
implementation 'dev.b3nedikt.reword:reword:4.0.0'
implementation 'dev.b3nedikt.applocale:applocale:2.0.3'

github回购:https://github.com/B3nedikt/reword

最新更新