패스트캠퍼스 챌린지

[패스트캠퍼스 챌린지 6일차] Timer_App

Timer앱을 만들기 위한 UI를 먼저 구성하였습니다.

<TextView
        android:id="@+id/remainMinutesTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="00"
        android:textSize="40sp"
        app:layout_constraintHorizontal_chainStyle="packed"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/remainSecondsTextView"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/remainSecondsTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="00"
        android:textSize="40sp"
        app:layout_constraintBottom_toBottomOf="@+id/remainMinutesTextView"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/remainMinutesTextView"
        app:layout_constraintTop_toTopOf="@+id/remainMinutesTextView" />

가운데에 TextView 2개를 구성하고 하나는 분을 나타내고 하나는 초를 나타냅니다.

app:layout_constraintHorizontal_chainStyle="packed"

위 코드를 이용하여서 떨어져 있는 TextView 두 개를 remainMinutesTextView 가로 chain 값을 packed로 주어 모이도록 하였습니다.

<SeekBar
        android:id="@+id/seekBar"
        app:layout_constraintStart_toStartOf="parent"
        android:max="60"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/remainMinutesTextView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"/>

아래 SeekBar를 이용하여 움직이는 정도에 따라 타이머가 설정되도록 만들 예정입니다. 최대 시간은 max값으로 60을 주었습니다.

 seekBar.setOnSeekBarChangeListener(
            object : SeekBar.OnSeekBarChangeListener{
                override fun onProgressChanged(p0: SeekBar?, p1: Int, p2: Boolean) {
                    remainMinutesTextView.text = "%02d".format(p1)
                }

                override fun onStartTrackingTouch(p0: SeekBar?) {

                }

                override fun onStopTrackingTouch(p0: SeekBar?) {

                }

            }
        )

seekBar 함수중에 onSeekBarChangeListener안에는 3개의 멤버함수들이 있습니다.

onProgressChanged 함수를 이용하여서 seekBar를 움직이는 만큼 remainMinutesTextView의 text가 변하도록 만들어주었습니다.

 

패스트캠퍼스 바로가기 -> https://bit.ly/3FVdhDa

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.