private void showReleaseAnimation(final View view,float y){ TranslateAnimation translateAnimation = new TranslateAnimation( 0f, 0f, 0f, y); translateAnimation.setDuration(200); translateAnimation.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { view.clearAnimation(); FrameLayout.LayoutParams ll = new FrameLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT); ll.setMargins(0, 0, 0, 0); view.setLayoutParams(ll); } @Override public void onAnimationRepeat(Animation animation) { } }); view.startAnimation(translateAnimation); }
使用方法:showReleaseAnimation(view,100);效果:控件向下运动100像素后停止,控件不会恢复到起始位置