如何在Kotlin中基于进度栏进度更新textview值

时间:2019-06-04 06:52:01

标签: android kotlin progress-bar objectanimator

我想用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 个答案:

答案 0 :(得分:2)

通过ObjectAnimator,您可以使用更新侦听器:

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

onAnimationUpdate中,您可以根据需要获取动画值或进度条进度,并将其设置为文本视图。

答案 1 :(得分:1)

不确定是否可以通过动画来做到这一点。

但是您可以使用SeekBar.OnSeekBarChangeListener