使用 updateConfiguration Kotlin 更改语言 Android
Changing language with updateConfiguration Kotlin Android
我编写了一个简单的应用程序,让您可以更改语言并查看该语言的文本,但是我使用了以下代码:
private fun changeLanguage(language: String) {
Log.i("SettingsFragment", "2. " + binding.languageButton.text.toString())
if(language != binding.languageButton.text.toString()){
val local = Locale(language)
val dm = resources.displayMetrics
val con = resources.configuration
con.locale = local
resources.updateConfiguration(con, dm)
val refresh = Intent(
requireContext(),
MainActivity::class.java
)
refresh.putExtra(binding.languageButton.text.toString(), language)
startActivity(refresh)
}
}
它确实有效,但在构建时显示:
我一直在想,是否值得更新该代码以符合当前标准(我应该使用什么来做到这一点)?它会因为不再受支持而在一段时间后中断吗?
一般来说你做得对,但从 android 版本开始它非常可靠。我建议您使用其中一种语言更改库。
我正在使用这个库,它工作正常。
我编写了一个简单的应用程序,让您可以更改语言并查看该语言的文本,但是我使用了以下代码:
private fun changeLanguage(language: String) {
Log.i("SettingsFragment", "2. " + binding.languageButton.text.toString())
if(language != binding.languageButton.text.toString()){
val local = Locale(language)
val dm = resources.displayMetrics
val con = resources.configuration
con.locale = local
resources.updateConfiguration(con, dm)
val refresh = Intent(
requireContext(),
MainActivity::class.java
)
refresh.putExtra(binding.languageButton.text.toString(), language)
startActivity(refresh)
}
}
它确实有效,但在构建时显示:
我一直在想,是否值得更新该代码以符合当前标准(我应该使用什么来做到这一点)?它会因为不再受支持而在一段时间后中断吗?
一般来说你做得对,但从 android 版本开始它非常可靠。我建议您使用其中一种语言更改库。 我正在使用这个库,它工作正常。