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