android TranslateAnimation动画焦点跟随问题

给一个activity(或者其他组件)设置一个TranslateAnimation动画时,焦点并没有跟随动画的移动而改变,还是停留在原始位置。

实现焦点跟随,可以使用下面这个方法:


  

final Animation animation = new TranslateAnimation(0, -100, 0, 0);
  animation.setDuration(50);
  
  animation.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) {
    mainlayout.clearAnimation();
    FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(getWh().x, getWh().y);
    lp.setMargins(-100, 0, getWh().x + 100, getWh().y);
    mainlayout.setLayoutParams(lp);
   }
  });

 

posted on 2012-12-19 12:10  Android开发经验总结  阅读(430)  评论(0)    收藏  举报

导航