カスタム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"/>
をあなたが行きます。がんばろう。
メインアクティビティからこのクラスを呼び出すにはどうすればよいですか?それは長い時間でした:( –
Nevermind!素晴らしいソリューションありがとう! –