解析: 
 1)interpolatedTime指的是平移的变化率(从0到1) 
 2)mStartHeight 控件开始的高度 
 3)endHeight 控件竖直移动后的高度 
 4)mImageView.requestLayout(); 图片在改变高度后填充布局并固定 
 5)ValueUtil.evalute(interpolatedTime, mStartHeight, mEndHeight) + 0.5f) 得到变化后的高度
代码:
/**
 * @描述         使用平移动画实现下拉图片后弹射回去
 * @项目名称      App_imooc
 * @包名         com.android.imooc.paralla
 * @类名         ResetAnimation
 * @author      chenlin
 * @date        2015年5月29日 下午12:27:00
 * @version     1.0
 */
public class ResetAnimation extends Animation {
    private ImageView mImageView;
    private int mStartHeight;
    private int mEndHeight;
    public ResetAnimation(ImageView imageView, int startHeight, int endHeight) {
        this.mImageView = imageView;
        this.mStartHeight = startHeight;
        this.mEndHeight = endHeight;
        setDuration(500);
    }
    @Override
    protected void applyTransformation(float interpolatedTime, Transformation t) {
        int newHeight = (int) (ValueUtil.evalute(interpolatedTime, mStartHeight, mEndHeight) + 0.5f);
        mImageView.getLayoutParams().height = newHeight;
        mImageView.requestLayout();
        super.applyTransformation(interpolatedTime, t);
    }
}3、使用方法: 
 //竖直移动动画
ResetAnimation anim = new ResetAnimation(mImageView, startHeight, endHeight);
anim.setInterpolator(new OvershootInterpolator());
startAnimation(anim);                










