App 화면에 실시간으로 날짜 및 시간을 표시해줘야 되는 경우가 있습니다. 예전에 잘 모르고 새로운 View 에서 Thread 작업도 넣고 그랬는데.. TextClock 위젯을 활용해서 쉽게 구현이 가능하다는걸 늦게나마 알게되었네요ㅠㅠ TextCl...

[안드로이드] Kotlin 실시간으로 날짜 시간 초단위 표시: TextClock 위젯

 


App 화면에 실시간으로 날짜 및 시간을 표시해줘야 되는 경우가 있습니다.
예전에 잘 모르고 새로운 View 에서 Thread 작업도 넣고 그랬는데..
TextClock 위젯을 활용해서 쉽게 구현이 가능하다는걸 늦게나마 알게되었네요ㅠㅠ
TextClock 사용 방법을 간단하게 정리하려고 합니다.


 

 


1. TextClock 위젯

TextClock 은 TextView 의 하위클래스에 속해있는 View Class 중에 하나입니다.

기본적인 사용은 TextView 와 유사다하다고 생각하면 될 것 같습니다.

Android Developer: TextClock Widget


아래와 같이 layout 에 배치 시켜서 결과를 봅시다.

<TextClock
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="40sp"
android:textColor="@color/black"/>



배치만 시켜도 시간이 나오네요. 

좋은 위젯입니다.

 

 

 

 

2. format12Hour / format24Hour

TextClock 에서 보여지는 기본 값 말고 임의로 format 을 지정해줘서 바꿔보려고 합니다.

안드로이드 시스템에서 시간을 표시 해주는 방법은 12시간 / 24시간 형식으로 나눠집니다.

현재 설정된 시간 형식에 따라 사용자에게 어떻게 보여줄건지 format12Hour / format24Hour 를 통해 지정할 수 있습니다.

날짜 시간 format 지정할 때 아래 문서를 참조해주세요.

Adnroid Developer: DateTimeFormatter


저는 날짜 요일 시간 모두 출력되도록 해봤습니다.
<TextClock
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:format12Hour="yyyy-MM-dd (E)\na hh:mm:ss"
android:format24Hour="yyyy-MM-dd (E)\nHH:mm:ss"
android:textSize="40sp"
android:textColor="@color/black"/>

 

안드로이드 시스템 설정 : 12시간 형식



안드로이드 시스템 설정 : 24시간 형식


혹시 현재 단말의 보여지는 시간 형식 설정값이 궁금하시다면 아래와 같이 확인해보세요!

[설정] > [일반] > [날짜 및 시간] > [24시간 형식 사용]

 

 


 

3. 시스템 설정 시간 형식 상관없이 똑같이 보여지길 원한다면?

format12Hour / format24Hour 모두 보여지기 원하는 fomat 으로 똑같이 맞춰주면 됩니다.

<TextClock
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:format12Hour="yyyy-MM-dd (E)\na hh:mm:ss"
android:format24Hour="yyyy-MM-dd (E)\na hh:mm:ss"
android:textSize="40sp"
android:textColor="@color/black"/>

 

 

 

 

 


0 comments: