Android中根据时间来计算两个值之间的差值

来源:互联网 发布:java hadoop基础 编辑:程序博客网 时间:2024/05/30 13:42

第一种方式:使用属性动画,知道开始值,结束值,然后设置时间

private void runInt() {ValueAnimator valueAnimator = ValueAnimator.ofInt(1, (int) 900);valueAnimator.setDuration(2000);valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {@Overridepublic void onAnimationUpdate(ValueAnimator valueAnimator) {// 设置瞬时的数据值到界面上btnStart.setText(valueAnimator.getAnimatedValue().toString());}});valueAnimator.start();}

第二处方式:也是使用动画,这个值是从0到1之间的变化值来改变也可以设置时间

class BarAnimation extends Animation {@Overrideprotected 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);


0 0
原创粉丝点击