我正在使用TextClock
来显示哪一天和哪个日期。
是否可以更改TextClock的默认语言(英语)?
<TextClock
android:id="@+id/date"
style="@style/DateStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:format12Hour="EEEE\n MMMM d"
android:format24Hour="EEEEd\n MMMM"/>
显示:
答案 0 :(得分:3)
您可以编写自定义TextClock
并在其中设置Locale
来执行此操作。试试这个:
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() {
// You can change language from here
Locale currentLocale = new Locale("en");
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 + "'\n'" + monthName + "' dd");
this.setFormat24Hour("'" + dayName + "'\n'" + monthName + "' dd");
}
}
将此自定义TextClock
实现为您的布局:
<com.your.package.MyTextClock
android:id="@+id/date"
style="@style/DateStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"/>
你走了。祝你好运。