2016-12-30 93 views
1

我在屏幕中央放置了一個ImageView。然後我想從底部到中心對它進行動畫處理。我推斷它毫不拖延地移出屏幕,然後返回相同的值,這將在中心結束。然而,動畫使得視圖將從頂部退出。Android倒車動畫

mLogoIV.animate().translationY(1000f).setListener(new AnimatorListenerAdapter() { 
    @Override 
    public void onAnimationEnd(Animator animation) { 
     super.onAnimationEnd(animation); 
     mLogoIV.animate().translationY(-1000f).setDuration(3000); 
    } 
}); 

回答

1

使用translationYBy(動畫相對於當前位置

https://developer.android.com/reference/android/view/ViewPropertyAnimator.html#translationYBy(float)

mLogoIV.animate().translationYBy(1000f).setListener(new AnimatorListenerAdapter() { 
    @Override 
    public void onAnimationEnd(Animator animation) { 
     super.onAnimationEnd(animation); 
     mLogoIV.animate().translationYBy(-1000f).setDuration(3000); 
    } 
}); 

從文檔:

的量要通過動畫,如從一個偏移當前值。

VS你現在在做什麼:

值進行動畫來。

0

使用對象動畫器。

ObjectAnimator objectAnimator= ObjectAnimator.ofFloat(mLogoIV, "translationY", -750, 0); 
        objectAnimator.setDuration(1000); 
        objectAnimator.start();