프로젝트 진행 중 실 시간으로 시간을 날짜 시간을 표기 해달라는 고객 요청사항이 있어 Thread와 Handler를 사용하여 TextView에 표시해야곘다는 생각을 했다. 

 

구글링을 하다가 TextClock으로 손쉽게 현재 날짜 시간을 표기할수 있다는것을 알게되었다.

(https://developer.android.com/reference/android/widget/TextClock)

 

API level 17부터 지원되기 시작한 기능으로 TextView를 상속받아 구현되었다.

<TextClock
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:format12Hour="yyyy년 MM월 dd일 EE요일"
    android:textSize="18dp" />

<TextClock
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:format12Hour="hh:mm a"
    android:textSize="45dp" />

format 안에 내용은

yyyy : 년

MM : 월

dd : 일

EE : 요일

hh : 시간

mm : 분

a : 오전/오후를 나타낸다

android:format12Hour="hh:mm a"
android:format24Hour="hh:mm"

format12Hour은 12시간 시간표기방식, format24Hour은 24시간 시간표기 방식을 설정할수 있다.

요일과 오전/오후의 경우는 시스템의 local언어에 따라 다르게 표기된다.

(개발 단말의 언어가 한국어인 경우는 기본적으로 위와 같이 한글로 요일과 오전/오후가 표기 되지만 영어인 경우는 영어로 요일과 AM/PM으로 표기 된다.)

 

예전에 시간 갱신하는 로직을 일일히 다 구현해 줘야하는 번거로움이 있었는데, TextClock사용으로 이러한 번거로움을 줄일수 있었다.

+ Recent posts