第一种方式:使用属性动画,知道开始值,结束值,然后设置时间
private void runInt() {
ValueAnimator valueAnimator = ValueAnimator.ofInt(1, (int) 900);
valueAnimator.setDuration(2000);
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
// 设置瞬时的数据值到界面上
btnStart.setText(valueAnimator.getAnimatedValue().toString());
}
});
valueAnimator.start();
}
第二处方式:也是使用动画,这个值是从0到1之间的变化值来改变也可以设置时间
class BarAnimation extends Animation {
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
super.applyTransformation(interpolatedTime, t);
if (interpolatedTime < 1.0f) {
mProgressAni = (int) (interpolatedTime * 800);
} else {
mProgressAni = 800;
}
// postInvalidate();
System.out.println("secodar---" + pbRunDistPer.getProgress() + "----mProgressAni----" + mProgressAni
+ "----interpolatedTime---" + interpolatedTime);
pbRunDistPer.setProgress(mProgressAni);
}
}
BarAnimation anim = new BarAnimation();
使用方式也非常简单主是View.startAnimation( anim);