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) {
}
});
これで大分コードが短くなるはず。
コメント
コメントを投稿