【AndroidのViewを制する】 TextClockを使いこなして時間を表示する

このエントリーを Google ブックマーク に追加
Pocket
[`yahoo` not found]

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());