Androidでアニメーションの開始・経過・終了のイベントを取得するには?
Androidでアニメーションの開始・経過・終了のイベントを取得するには?
こんな風。
Animationクラスの内部にAnimationListernerというインターフェースがあるので、これを実装してAnimationにリスナーとしてセットする。
インターフェースなので、1つのメソッドしか必要なかったとしても3つのメソッドをすべて実装しなくてはならないのが面倒だよなぁ・・・というわけで、アダプタークラスを作っておくと楽できる。
このクラスを作っておくと、上のコードはこういう風にできる。
これで大分コードが短くなるはず。
こんな風。
Animation anim = new Animation(); anim.setAnimationListener( new Animation.AnimationListener() { @Override public void onAnimationEnd(Animation animation) { } @Override public void onAnimationRepeat(Animation animation) { } @Override public void onAnimationStart(Animation animation) { } });
Animationクラスの内部にAnimationListernerというインターフェースがあるので、これを実装してAnimationにリスナーとしてセットする。
インターフェースなので、1つのメソッドしか必要なかったとしても3つのメソッドをすべて実装しなくてはならないのが面倒だよなぁ・・・というわけで、アダプタークラスを作っておくと楽できる。
package ex.daix; import android.view.animation.Animation; import android.view.animation.Animation.AnimationListener; public class AnimationListenerAdapter implements AnimationListener { @Override public void onAnimationEnd(Animation animation) { } @Override public void onAnimationRepeat(Animation animation) { } @Override public void onAnimationStart(Animation animation) { } }
このクラスを作っておくと、上のコードはこういう風にできる。
Animation anim = new Animation(); anim.setAnimationListener( new AnimationListenerAdapter() { @Override public void onAnimationStart(Animation animation) { } });
これで大分コードが短くなるはず。
コメント
コメントを投稿