ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [안드로이드 kotiln] 화면에 시간 갱신하기 (thread, handler 사용 없이 xml에서만 적용한 방법)
    카테고리 없음 2021. 5. 4. 14:48

    일반적으로 화면에서 시간을 갱신하려면 Thread 또는 Handler 를 이용해서 runOnUiThread 같은걸로 보여주어야 하는데요.

     

    xml 에서 간단하게 사용할 수 있는 방법이 있어서 기록을 남길 겸 공유하고 싶어서 글을 남깁니다.

     

    사용법은 간단합니다.

     

    시간을 나타낼 화면의 xml 에서 <TextClock> 을 사용하시면 됩니다.

     

    (시간만 표시한 예)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?xml version="1.0" encoding="utf-8"?>
    <androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/defaultBackground"
        android:orientation="vertical">
     
        <TextClock
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:format12Hour="hh:mm:ss a"
            android:format24Hour="hh:mm:ss"
            android:textSize="36sp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
     
    </androidx.appcompat.widget.LinearLayoutCompat>
    cs

     

    TextClock 적용한 화면

    위 영상처럼 초 단위로 잘 갱신 됩니다.

     

    시간 외에 날짜까지 표시하고 싶다면 format12Hour 또는 format24Hour 의 내용에 타입을 변경해주면 됩니다.

     

    <시간만 표시>

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

     

    <연월일 시분초 표시>

    android:format12Hour="yyyy-MM-dd hh:mm:ss a"
    android:format24Hour="yyyy-MM-dd hh:mm:ss"

     

     

    (연월일 시분초 표시한 예)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?xml version="1.0" encoding="utf-8"?>
    <androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/defaultBackground"
        android:orientation="vertical">
     
        <TextClock
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:format12Hour="yyyy-MM-dd hh:mm:ss a"
            android:format24Hour="yyyy-MM-dd hh:mm:ss"
            android:textSize="36sp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
     
    </androidx.appcompat.widget.LinearLayoutCompat>
    cs

     

     

    이상으로 간단하게 xml 에서 시간 갱신할 수 있는 방법에 대해서 정리해봤습니다.

     

     

     

     

    댓글

Designed by Tistory.