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