1.代码
/**
* 开始计时
*/
private void startTimer() {
if (timeValueAnimator == null) {
timeValueAnimator = ValueAnimator.ofInt(0, 100);
timeValueAnimator.setInterpolator(new TimeInterpolator() {
@Override
public float getInterpolation(float input) {
return input;
}
});
timeValueAnimator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationStart(Animator animation) {
//倒计时开始,处理一些你的逻辑
}
@Override
public void onAnimationEnd(Animator animation) {
}
@Override
public void onAnimationCancel(Animator animation) {
//倒计时取消中做一些逻辑处理
}
});
timeValueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
int animatedValue = (int) animation.getAnimatedValue();
setTime(animatedValue / 10);
progress.setProgress(animatedValue);
}
});
timeValueAnimator.setDuration(10000);
}
timeValueAnimator.start();
}
2.停止倒计时:
/**
* 停止计时
*/
private void stopTimer() {
if (timeValueAnimator != null) {
timeValueAnimator.cancel();
}
}