2015-03-02 46 views
0

我想用一个简单的翻译,其中有一个按钮,我想将它移动到另一个按钮所在的位置。事情是,当翻译开始时,按钮刚刚从屏幕上消失,它甚至不移动。android像素翻译,按钮消失

我的代码:

Button poli1 = checkPosPoli1(); 

      TranslateAnimation animpoli1 = new TranslateAnimation(checkPosPoli1().getLeft(),checkBtn().getLeft() , checkPosPoli1().getTop(), checkBtn().getTop()); 
      animpoli1.setDuration(10000); 
      animpoli1.setFillAfter(true); 
      poli1.startAnimation(animpoli1); 

两个checkPosPoli1()和checkBtn返回按钮,我已经在控制台打印两他们的价值和它的确定。

+0

我要说的是,按钮被移动到正确的位置,只是它在另一个按钮下。 – Mathemats 2015-03-02 23:46:25

+0

好心地发布你的布局,如果你的按钮在布局内而不是按钮只能移动到它所在的布局范围内。 – 2015-03-03 09:16:54

回答

1

查看TranslateAnimation的文档:http://developer.android.com/reference/android/view/animation/TranslateAnimation.html。您正在使用的构造函数是这样的:TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)这意味着如果视图已经处于其起始位置,则您需要第一个和第三个参数为0,否则在动画开始时将视图向右移动。

TranslateAnimation animpoli1 = new TranslateAnimation(0, targetX - currentX, 0, targetY - currentY);

,如果你希望它是相对于父母,你可以使用第二个构造函数:

TranslateAnimation animpoli1 = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, currentX, targetX, Animation.RELATIVE_TO_PARENT, currentY, targetY);

+0

谢谢,工作得很好。 – Ricardo 2015-03-03 00:02:50