public void slideview(final View view, final float p1, final float p2) {
TranslateAnimation animation = new TranslateAnimation(0, 0, p1, p2);
animation.setInterpolator(new OvershootInterpolator());
animation.setDuration(1000);
animation.setStartOffset(300);
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
int left = view.getLeft();
int top = view.getTop() + (int) (p2 - p1);
int width = view.getWidth();
int height = view.getHeight();
view.clearAnimation();
view.layout(left, top, left + width, top + height);
}
});
view.startAnimation(animation);
}
注:clearAnimation() 必须在 layout(l,t,r,b) 前执行,否则会出错~