最終更新:
moonlight_aska 2015年11月29日(日) 19:53:10履歴
Property Animation(API Level 11)において, アニメーションのイベント(開始, 終了, キャンセル等)を取得するには, Animator.AnimatorListenerインタフェースを利用する.
「アニメーションをキャンセルする」を参照.

- Animation01.java
- Animator.addListenerメソッドで, AnimatorListenerインタフェースを設定する.
- onAnimationXXXメソッドをオーバーライドする.
package com.moonlight_aska.android.work.animation01;
import android.animation.Animator;
import android.animation.AnimatorInflater;
import android.animation.AnimatorSet;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
public class MainActivity extends Activity {
private static final String LOG_TAG = MainActivity.class.getSimpleName();
private AnimatorSet mSet = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView img = (ImageView) findViewById(R.id.robot);
mSet = (AnimatorSet) AnimatorInflater.loadAnimator(this, R.animator.scale);
mSet.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
Log.v(LOG_TAG, "onAnimationStart!!");
}
@Override
public void onAnimationEnd(Animator animation) {
Log.v(LOG_TAG, "onAnimationEnd!!");
}
@Override
public void onAnimationCancel(Animator animation) {
Log.v(LOG_TAG, "onAnimationCancel!!");
}
@Override
public void onAnimationRepeat(Animator animation) {
Log.v(LOG_TAG, "onAnimationRepeat!!");
}
});
mSet.setTarget(img);
mSet.start();
}
public void onCancelListener(View view) {
if (mSet != null) {
if (mSet.isRunning()) {
mSet.cancel();
}
}
}
}
- 実行例

コメントをかく