Я пытаюсь добавить таймер обратного отсчета с помощью circular progress indicator
(из компоненты материального дизайна) в мое приложение, но у меня проблемы с настройкой начального значения circular progress indicator
.
Вот соответствующие части моего кода, которые я написал:
countDownTimer = object : CountDownTimer(60000, 1000) {
override fun onTick(millisUntilFinished: Long) {
binding.apply {
countDownTimer.text = (millisUntilFinished / 1000).toString()
progressIndicator.progress = (millisUntilFinished / 1000).toInt()
}
}
override fun onFinish() {
// if 60 secs are finished, then we stop the record
stopRecording()
}
}
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|center">
<TextView
android:id="@+id/count_down_timer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:textSize="20sp"
android:textStyle="bold"
android:background="@color/black"
android:textColor="@color/white"
tools:text="60"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<com.google.android.material.progressindicator.CircularProgressIndicator
android:id="@+id/progress_indicator"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:indicatorColor="@color/navajowhite"
app:trackCornerRadius="10dp"
app:indicatorSize="15dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/count_down_timer"
android:layout_margin="10dp"/>
</androidx.constraintlayout.widget.ConstraintLayout>
Я позволил запустить счетчик с 60 секунд до 0. Но я думаю, что значение прогресса моего кругового индикатора прогресса неверно. Потому что его начальный запуск выглядит так (я создал эскиз, чтобы показать вам начальное состояние кругового индикатора прогресса при запуске счетчика):
Как видите, круг не замкнут. Чего вы не видите, так это того, что дорожка circular progress indicator
уменьшается от этого до тех пор, пока не будет достигнуто 0. Итак, каким-то образом работает уменьшение circular progress indicator
. Но исходная точка неверна.
Что мне нужно, так это начальный старт, который должен выглядеть так:
Что я здесь делаю неправильно?