Как обновить значение textview, основываясь на прогрессе прогресса в Kotlin - PullRequest
1 голос
/ 04 июня 2019

Я хотел бы использовать ObjectAnimator для анимации ProgressBar прогресса.Однако я не смог бы обновить текст, так как я не использую цикл for.Каков наилучший способ обновления Textview при использовании ObjectAnimator?Вот что я пытался обновить, но мне не удалось это сделать:

val animation = ObjectAnimator.ofInt(progressbar, "progress", 0, 10000)
   animation.setDuration(2000)
   animation.setInterpolator(DecelerateInterpolator())
   animation.start()
   var progress=progressbar.getProgress() /100
   progtxt.text="$progress%"

Ответы [ 2 ]

2 голосов
/ 04 июня 2019

С ObjectAnimator вы можете использовать прослушиватель обновлений:

    animation.addUpdateListener(object: ValueAnimator.AnimatorUpdateListener {
        override fun onAnimationUpdate(animation: ValueAnimator?) {
            val progress = animation?.animatedValue as Int
            // Update you text view
        }
    })

Здесь, в onAnimationUpdate, вы можете получить анимированное значение или индикатор выполнения в зависимости от того, что вам нужно, и установить его в виде текста.

1 голос
/ 04 июня 2019

Не уверен, что вы можете сделать это с анимацией.

Но вы можете использовать SeekBar.OnSeekBarChangeListener

...