Java 平滑圆形进度条动画

Java 平滑圆形进度条动画,java,android,Java,Android,我正在尝试创建一个带有倒计时的平滑进度条。我想定时器将倒计时到20秒。我使用下面的代码,但我无法实现顺利下降的进度条。倒计时勾号功能在progressbar中运行良好,但在行为平稳的情况下则不起作用。我从stackoverflow中找到了下面的代码,我在我的项目中使用了这些代码,但是你能告诉我我做错了什么吗 if(android.os.Build.VERSION.SDK_INT >= 11){ // will update the "progress" propriety

我正在尝试创建一个带有倒计时的平滑进度条。我想定时器将倒计时到20秒。我使用下面的代码,但我无法实现顺利下降的进度条。倒计时勾号功能在progressbar中运行良好,但在行为平稳的情况下则不起作用。我从stackoverflow中找到了下面的代码,我在我的项目中使用了这些代码,但是你能告诉我我做错了什么吗

 if(android.os.Build.VERSION.SDK_INT >= 11){
        // will update the "progress" propriety of seekbar until it reaches progress
        ObjectAnimator animation = ObjectAnimator.ofInt(progressBarTimer, "progress", 0, 500);
        animation.setDuration(20000); // 0.5 second
        animation.setInterpolator(new LinearInterpolator());
        animation.start();
    }
    else
        progressBarTimer.setProgress(100);

我只是将progressbar分成1000个部分,每100毫秒调用一次,这样会更平滑

公共类MainActivity扩展了AppCompatActivity{

ProgressBar barTimer;
CountDownTimer countDownTimer;
TextView textTimer;
@Override 
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    barTimer = findViewById(R.id.barTimer);


   barTimer.setMax(1000);
    startTimer(10); 

} 

private void startTimer(final int minuti) {
    countDownTimer = new CountDownTimer(60 * minuti * 1000, 100) {
        @Override 
        public void onTick(long leftTimeInMilliseconds) {

            long seconds = leftTimeInMilliseconds / 600;

            barTimer.setProgress((int)seconds);

        } 
        @Override 
        public void onFinish() { 

        } 
    }.start();

} 
} 

检查这个库@remeemssyde我正在使用自定义进度条你能解决你的问题吗?我也有同样的情况。