【问题标题】:Android circular progress bar slows down at it progressesAndroid 圆形进度条在进度时变慢
【发布时间】:2016-11-30 22:01:54
【问题描述】:

我已经实现了一个循环进度条,它会在 10 秒内填满。但是,我认为栏在开始时填充得更快,因此,随着时间的推移,它会变慢(填充的动画)。此外,最后,它会暂停片刻,然后最终结束。我使用的代码是从这里的第一个答案中得到的: How to Create a circular progressbar in Android which rotates on it?

然后我启动进度条的代码是:

ProgressBar progressBar = (ProgressBar) findViewById(R.id.progressBar);
ObjectAnimator animation = ObjectAnimator.ofInt (progressBar, "progress", 0, 100);
animation.setDuration (10000);
animation.setInterpolator (new DecelerateInterpolator());
animation.start();

如何让动画更流畅?

【问题讨论】:

  • 这可能对link有帮助
  • 看来要实现我已经拥有的东西需要更多的代码。我想如果它更平滑会更好,但我想知道为什么我的会出现这个问题。
  • 它是因为 DecelerateInterpolator。请改用 LinearInterpolator。
  • 您正在使用DecelerateInterpolator,它旨在减慢任何动画接近尾声。你说的更平滑是什么意思?我认为插值器上的this tutorial 可以帮助你。
  • 哦。我的。上帝……你们是天才。哈哈,谢谢!!

标签: java android xml progress-bar


【解决方案1】:

这是因为您使用的是DecelerateInterpolator。插值器定义动画的变化率。这允许基本动画效果加速、减速、重复等。

您可以阅读有关插值器here 的更多信息。

您可以使用LinearInterpolatorAccelerateInterpolator 来满足您的目的。

【讨论】:

    猜你喜欢
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多