将默认语言环境设置为DatePicker和TimePicker

时间:2014-10-21 13:18:11

标签: android localization arabic android-datepicker android-timepicker

我在自定义DatePicker中使用TimePickerDialog。功能正常,但是当我更改应用的默认Locale以匹配阿拉伯语时,我遇到了问题。

问题是DatePickerTimePicker未在所有Android版本上本地化。它适用于Android 4.2.2及更高版本。但它不适用于Android版本4.1.2及更低版本。

我想要始终将DatePickerTimePicker的本地化更改为英语,或者在Locale与阿拉伯语匹配时将其更改为阿拉伯语。

这是Android版本4.2.2及更高版本中的对话框(与本地化匹配的正确对话框)

Android version 4.2.2 and higher

这是Android版本4.1.2及更低版本中的对话框

Android versions 4.1.2 and lower

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);