如果你的系統處於12小時模式,你不必編寫一個子類來獲得你想要的。該JavaDocs說:
- 在12小時模式:
- 使用)由getFormat12Hour(返回的值時,非空
- 否則,使用由getFormat24Hour返回的值()時,非空
- 否則,使用諸如HH適合於用戶的語言環境的默認值,:毫米
因此,我希望在這最後一行,使getFormat12Hour()
回報null
,因此使用自定義getFormat24Hour()
格式:
<android.widget.TextClock
android:id="@+id/hk_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:timeZone="GMT+0800"
android:format24Hour="MMM dd, yyyy k:mm"
android:format12Hour="@null" />
(順便說一句,正如其他人所提到的,強制的格式應小心使用。如果您的用戶需要24小時制,他們會在他們的系統偏好中指定此項。而且在其用戶上強制使用數字格式的顛覆性日期格式(如MM/dd/yyyy
)的應用會邀請一星評級(本例中來自美國和菲律賓用戶除外),因此您使用MMM
是件好事!你仍然可以使用getBestDateTimePattern(),儘管如此,我相信這將需要繼承TextClock。)
我如何改變它添加日期? – littledevils326 2013-03-12 20:52:51
我不確定你對「日期」的理解,但是如果你的意思是日,月,年,那麼你是不是已經包含在你的MMM dd,yyyy k:mm格式中? – saschoar 2013-03-13 13:42:12