Android 圆形进度条要怎么样实现圆滑地更新进度?

如题:Android 圆形进度条要怎么样实现圆滑地更新进度? 比如进度从0%到10% 不是跳一下或者10下。。 而是滑动过去

這應該不是滑吧,你要的應該是很多的跳動,比如跳一格是0.01%,這樣看起來就很平滑了。

参考一下:
https://github.com/dmytrodanylyk/circular-progress-button
https://github.com/Todd-Davies/ProgressWheel

你设置每次刷新的时候,增加的进度量少一些就行了。比如每次增加1.

将增量减小,当小到一定程度就看起来平滑了,跟定积分一个道理

分析一下原因,就是你的增量现在一下要增加10,那么在这么短的时间内,肯定看到的是一闪就到了,所以看起来不平滑。
解决方案:增加10的时候,把10拆分开来增加,比如每次增加1,增加完之后,暂停10ms,再增加1,知道10增加完成
举个例子来说:
比如现在的圆形进度条名称叫mProgressBar,当你现在有一个增量为10的时候,那么你mProgress.setProgress(10);,它一下子就变为10了,那么现在你可以做一个封装:
比如一个方法

 private ProgressBar mProgressBar;

    private synchronized void setMProgressBarValue(int value){
        int addProgress = value;
        int currentProgress = mProgressBar.getProgress();
        for (int i = currentProgress; i < addProgress; i++) {
            currentProgress += i;
            mProgressBar.setProgress(currentProgress);
            try {
                Thread.sleep(1 * 10);
            } catch (InterruptedException e) {
            }
        }
    }