【AndroidのViewを制する】 TextClockを使いこなして時間を表示する
Android内で時間を表示するために自作のViewを作った経験は無いでしょうか。
しかし、Androidには時間を表示するViewがあります。
それがTextClockです。
TextClock#setFormat12HourとTextClock#getFormat12Hour
TextClock#setFormat12Hourは12時間モード時の時刻の表示フォーマットを変更するメソッドです。フォーマット文字列を引数に取ります、この引数にnullを渡すとデフォルトである”aK:mm”形式で表示されます。
TextClock#getFormat12Hourは現在設定されている、12時間モード時のフォーマット文字列を取得することができます。
TextClock textClock = new TextClock(this); textClock.setFormat12Hour("yyyy/MM/dd HH:mm:ss"); Log.d("you", "TextClock#getFormat12Hour:" + textClock.getFormat12Hour());
TextClock#setFormat24HourとTextClock#getFormat24Hour
TextClock#setFormat24Hourは24時間モード時の時刻の表示フォーマットを変更するメソッドです。フォーマット文字列を引数に取ります、この引数にnullを渡すとデフォルトである”H:mm”形式で表示されます。
TextClock#getFormat24Hourは現在設定されている、24時間モード時のフォーマット文字列を取得することができます。
TextClock textClock = new TextClock(this); textClock.setFormat24Hour("yyyy/MM/dd HH:mm:ss"); Log.d("you", "TextClock#getFormat24Hour:" + textClock.getFormat24Hour());
TextClock#is24HourModeEnabled
TextClock#is24HourModeEnabledは24時間モードが有効になっているかどうかを返却します。判定する方法は、getFormat24Hourがnullではない場合にtrueを返します。
getFormat12Hourがnullではない場合にfalseを返します。
getFormat24HourとgetFormat12Hourの両方がnullの場合、端末のシステム設定でどちらが有効にになっているかによってtrue/falseを返却します。
TextClock textClock = new TextClock(this); Log.d("you", "TextClock#is24HourModeEnabled:" + textClock.is24HourModeEnabled());
TextClock#setTimeZoneとTextClock#getTimeZone
TextClock#setTimeZoneは時刻に適用されるタイムゾーンを設定するメソッドです。TextClock#getTimeZoneは時刻に適用されるタイムゾーンを取得するメソッドです。
デフォルト値は端末のシステム設定です。
TextClock textClock = new TextClock(this); textClock.setTimeZone("Asia/Tokyo"); Log.d("you", "TextClock#TimeZone:" + textClock.getTimeZone());