我可以从 Android 系统更改月份和日期文本吗?

can I change the text of month and day text from Android system?

所以目前我正在使用 this library 调用 SingleDateAndTimePicker 来设置小部件来选择日期和时间。像这样

如您所见,选择器是英文的。该选择器将遵循 Android phone 中的设置。如果用户将语言设置为印度尼西亚语,那么日期和月份也将以印度尼西亚语显示。

问题是我的应用程序只支持一种语言。用户可能从他们的 phone 设置中将语言设置为英语或印度尼西亚语。所以我想强制用户如果他们的语言是英语,那么我仍然只会显示印度尼西亚语日期时间选择器。

我知道要本地化字符串是通过 string.xml 在这样的资源中

<string name="Location">Lokasi</string>

但我需要知道日期和月份字符串的 name,所以我可以将英语强制为印度尼西亚语。我可以这样做吗?

您可以使用日历对象获取日期和月份字符串的名称,并且您可以传递区域设置,因此它将 return 以该语言显示。

这是一个例子:

 Calendar cal = Calendar.getInstance();
 String displayName = cal.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.ENGLISH);

在上面的例子中,我使用了Locale.ENGLISH你可以传递你自己的语言,它会return使用相同的语言。

根据库文档,您可以使用 customLocale(...) 更改本地化,如下所示。

new SingleDateAndTimePickerDialog.Builder(this)
                .customLocale(Locale.GERMAN) // here you can customize locale
                .bottomSheet()
                .curved()
                .minutesStep(15)
                // .............