I have been trying to get an answer to this question for quite a while. I also had a look at the following link: Android - DatePicker Widget Format. On my phone/ emulator (v 2.3.3) both the DatePicker widget and the dialog do not take the date format specified in settings (Settings->Date&Time->Select date format). They are always in the format "MM/dd/yyyy". The locale is set to English UK.
I get "d/MM/yyyy" when I read the settings with:
Settings.System.getString(getContentResolver(), Settings.System.DATE_FORMAT);
Does anybody have an idea about how to change the date format in a DatePicker view?
That setting is very specific. It is only meant to apply to dates dates shown in "short format". As long as you're using anything else (in this case, the DatePicker seems to be using "medium"), then those settings will be disregarded and the Locale's default formatting will take over.
I can confirm that if you change your phone's the language (and, effectively, the Locale) the order of the elements does changes in the date picker. Which I guess means I disagree with Dan S's assertion that "the system does not use any mechanism to localize the DatePicker". If you look at the code, you can see that (at least since 2.1), there's a reorderPickers() method that does exactly this.
English:
French:
To override the DatePicker format the best bet would be to override one of its constructors with a slight edit to the original code. You can edit the ViewGroup in code for you but I'd seriously consider not doing it that way.
inflater.inflate(R.layout.date_picker, this, true);
withinflater.inflate(my.package.R.layout.localized_date_picker, this, true);