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
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'패스트캠퍼스 챌린지' 카테고리의 다른 글
[패스트캠퍼스 챌린지 8일차] Android voice recorder (0) | 2021.11.08 |
---|---|
[패스트캠퍼스 챌린지 7일차] Android Timer (0) | 2021.11.07 |
[패스트캠퍼스 챌린지 5일차] Android 전자액자 마무리 (0) | 2021.11.05 |
[패스트캠퍼스 챌린지 4일차] Android 전자액자 (0) | 2021.11.04 |
[패스트캠퍼스 챌린지 3일차] Android 권한 부여하기 (0) | 2021.11.03 |