2016-11-02 16 views

答えて

0

TranslateAnimationにリスナーを追加できます。終了したら、Viewの位置をアニメーションの終了位置に変更します。

TranslateAnimation anim = new TranslateAnimation(...); 
anim.setAnimationListener(new AnimationListener() { 
@Override 
public void onAnimationStart(Animation animation) { } 
@Override 
public void onAnimationRepeat(Animation animation) { } 
@Override 
public void onAnimationEnd(Animation animation) { 
    view.setX(NEW_X_POSITION); 
    view.setY(NEW_Y_POSITION); 
} 
}); 

しかし、私は実際に新しいViewPropertyAnimator枠組み(http://android-developers.blogspot.co.il/2011/05/introducing-viewpropertyanimator.html)に、クラスの古いTranslateAnimation/ScaleAnimationタイプから切り替えることをお勧めしたいです。

myView.animate().x(500).y(500); 

あなたも一緒に再生するアニメーションのセットまたは1つを作成するためにAnimatorSetを使用することができます:あなたは上記のコードのように位置を変更する必要はありませんし、構文がはるかに簡単である新たな枠組みで 他の後に。

さらなる読書:https://developer.android.com/reference/android/view/ViewPropertyAnimator.html

+0

はい、それは動作します!私はリスナーについて全く考えなかった – Kemix

関連する問題