public void zyluoti(View v){ValueAnimator animator = ValueAnimator.ofFloat(0,screenHeight - mImageView.getHeight());//设置属性动画的值,值的类型为floatanimator.setDuration(1000);//动画的作用时间animator.setTarget(mImageView);//设置动画的作用目标animator.setInterpolator(new BounceInterpolator());//设置插值器 animator.start();/*** 动画开始,此时动画每10ms改变一次值,改变区间为[0,screenHeight - mImageView.getHeight()]
*此时只是设置好属性,并没有将属性值作用于View控件上 * 添加动画监听器,动画每改变一次,回调一次,在回调函数里实现View控件的改变,*/animator.addUpdateListener(new AnimatorUpdateListener() {@Overridepublic void onAnimationUpdate(ValueAnimator animation) {mImageView.setTranslationY((Float) animation.getAnimatedValue());//改变View控件的属性值实现动画效果,属性值从设置好的
ValueAnimator里获得
} }); }