2015-03-02 48 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