我一直试图回答这个问题很长一段时间。我还看了以下链接:Android - DatePicker Widget Format。 在我的手机/模拟器(v 2.3.3)上,DatePicker小部件和对话框都不采用设置中指定的日期格式(设置 - >日期和时间 - >选择日期格式)。它们始终采用“MM / dd / yyyy”格式。该区域设置为英国英语。
当我阅读设置时,我得到“d / MM / yyyy”:
Settings.System.getString(getContentResolver(), Settings.System.DATE_FORMAT);
有人知道如何在DatePicker视图中更改日期格式吗?
答案 0 :(得分:12)
要覆盖DatePicker格式,最好的办法是覆盖其中一个构造函数,并略微编辑原始代码。您可以在代码中编辑ViewGroup,但我认真考虑不这样做。
inflater.inflate(R.layout.date_picker, this, true);
替换为inflater.inflate(my.package.R.layout.localized_date_picker, this, true);
答案 1 :(得分:3)
该设置非常具体。它仅适用于以“短格式”显示的日期日期。只要您使用其他任何东西(在这种情况下,DatePicker似乎使用“medium”),那么这些设置将被忽略,并且Locale的默认格式将接管。
我可以确认,如果您更改手机的语言(实际上是区域设置),则 元素的顺序会在日期选择器中发生变化。我猜这意味着我不同意Dan S的断言“系统不使用任何机制来本地化DatePicker”。如果您查看代码,您可以看到(至少从2.1开始),有一个reorderPickers()方法就是这样做的。
英文:
法语: