使用TranslateAnimation并不会让控件的位置真正变化,只是视觉效果。
使用setFillBefore,setFillAfter控制动画结束时是否停留在第一帧/最后一帧。
使用动画效果,点击按钮btn,控件ll_all上下平移height并最终移到该位置。 注意,这里ll_all控件是放在Framelayout中的。
<pre class="java" name="code">TranslateAnimation ta = new Trandlateanimation(0,0,0,height);// 原来X坐标不动,Y坐标从0处平移height。
ta.setDuration(500);动画持续0.5秒
ta.setAnimationListener(new AnimationListener() {//动画开始/重复/结束的监听事件
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
btn.clearAnimation();
FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) ll