Он wont't работать с виджетом по умолчанию. Поэтому я использовал свой собственный класс и его работу, как ожидалось. Вам просто нужно обязательно изменить свой язык.
public class MyTextClock extends android.widget.TextClock {
public MyTextClock(Context context) {
super(context);
setLocaleDateFormat();
}
public MyTextClock(Context context, AttributeSet attrs) {
super(context, attrs);
setLocaleDateFormat();
}
public MyTextClock(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setLocaleDateFormat();
}
private void setLocaleDateFormat()
{
Locale currentLocale = getResources().getConfiguration().locale;
Calendar cal = GregorianCalendar.getInstance(TimeZone.getDefault(), currentLocale);
String dayName = cal.getDisplayName(cal.DAY_OF_WEEK, Calendar.LONG, currentLocale);
String monthName =cal.getDisplayName(cal.MONTH, Calendar.LONG, currentLocale);
this.setFormat12Hour("'"+dayName+"' '"+monthName+"' dd, yyyy h:m:ss a");
this.setFormat24Hour("'"+dayName+"', dd '"+monthName+"' yyyy HH:mm:ss");
}
}
К сожалению, он не работает. Некоторые, как это работает, частично. Я использую на португальском языке, когда я меняю язык на английский, он меняет формат на английский формат 12Hour, но дни и имена сохраняются на португальском языке. Это странно ..: S – MRodrigues
Я обновил решение с помощью некоторого кода, который должен работать. Попытайтесь сказать мне, если это полезно, пожалуйста, – arodriguezdonaire
Спасибо Андреу, но я получил тот же результат. Он изменяет формат даты, но имена дней и месяцев остаются в локали планшета. – MRodrigues