//...获取按钮 findViewById.......
   btn.getLocationOnScreen(position);    
          int posX = position[0];
          int posY = position[1];;
  //Animation translateAnimation = new TranslateAnimation(Animation.ABSOLUTE, 300,Animation.ABSOLUTE ,660, Animation.ABSOLUTE, 300, Animation.ABSOLUTE, 730);
  Animation translateAnimation = new TranslateAnimation(posX, 500, posY, 700);
  translateAnimation.setDuration(2000);
  AnimationSet anSet = new AnimationSet(false);
  anSet.addAnimation(translateAnimation);
  btn.startAnimation(anSet); linearlayout布局
里面一堆按钮,点最后一个按钮的时候 让最后一个按钮执行动画.
执行的时候 就是按钮没了 过两秒又出现了 根本没动画 ....这个动画跟布局有关系吗 我上面还有好多按钮 是不是不行啊 

解决方案 »

  1.   

    你的整个代码逻辑是没有问题的。
    我估计是 Animation translateAnimation = new TranslateAnimation(posX, 500, posY, 700);代码中你的posX,posY有问题,这里传的值是在该控件自身x,y的基础上去加的值。比如你的控件目前位置是(100,300),而你传的是(200,200),那么动画起始位置就是300,500。
    所以你想从原位置开始动画  传(0 ,0)就可以了,而(500,700)作为全局坐标的话,应该也要减去你自身控件的位置距离