我在自定义DatePicker
中使用TimePicker
和Dialog
。功能正常,但是当我更改应用的默认Locale
以匹配阿拉伯语时,我遇到了问题。
问题是DatePicker
和TimePicker
未在所有Android版本上本地化。它适用于Android 4.2.2及更高版本。但它不适用于Android版本4.1.2及更低版本。
我想要始终将DatePicker
和TimePicker
的本地化更改为英语,或者在Locale
与阿拉伯语匹配时将其更改为阿拉伯语。
这是Android版本4.2.2及更高版本中的对话框(与本地化匹配的正确对话框)
这是Android版本4.1.2及更低版本中的对话框
答案 0 :(得分:2)
您需要创建自定义DatePicker或TimePicker 。 请参阅此链接https://stackoverflow.com/a/9220899/3864698。它可以帮助您解决问题。
或者您可以使用Reflection来编辑NumberPicker值,请按this link获取完整的解决方案。
答案 1 :(得分:0)
在显示DatePicker / TimePicker之前,请更改片段/活动的区域设置。
Locale locale = Locale.US; //您的特定语言环境。 Locale.setDefault(locale);
Configuration configuration = context.getResources().getConfiguration();
configuration.setLocale(locale);
configuration.setLayoutDirection(locale);
context.createConfigurationContext(configuration);