更改Android App的区域设置时,日期选择器存在一些问题。任何人都可以帮助我。
当我们更改Device Francia(加拿大)的语言时,应用可以使用此代码正常运行
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
Locale.setDefault(resources.configuration.locales.get(0))
}else{
Locale.setDefault(resources.configuration.locale)
}
但是如果我们更改应用的语言环境而不更改设置错误结果的设备语言。
var locale=Locale(SharedPreferencesManager.getStringPreference(Constants.LOCALE, ""))
Locale.setDefault(locale)
val resources = resources
val configuration = resources.configuration
val displayMetrics = resources.displayMetrics
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
configuration.setLocale(locale)
createConfigurationContext(configuration)
} else {
configuration.locale=locale
resources.updateConfiguration(configuration, displayMetrics)
}
Incorrect View(Cancel and OK button not change as per app locale )
答案 0 :(得分:0)
根据Android框架上的http://code.google.com/p/android/issues/detail?id=25107错误报告,日期选择器未使用应用程序上下文缩短月份的String数组。而是使用系统区域设置。
您可以使用Gilbertwat撰写的AppLocaleDatePickerDialog.java。