Example usage for android.animation ObjectAnimator addPauseListener

List of usage examples for android.animation ObjectAnimator addPauseListener

Introduction

In this page you can find the example usage for android.animation ObjectAnimator addPauseListener.

Prototype

public void addPauseListener(AnimatorPauseListener listener) 

Source Link

Document

Adds a pause listener to this animator.

Usage

From source file:com.bartoszlipinski.viewpropertyobjectanimator.ViewPropertyObjectAnimator.java

@SuppressLint("NewApi")
public ObjectAnimator get() {
    if (hasView()) {
        Collection<PropertyValuesHolder> holders = mPropertyHoldersMap.values();
        ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(mView.get(),
                holders.toArray(new PropertyValuesHolder[holders.size()]));
        if (mWithLayer) {
            animator.addListener(new AnimatorListenerAdapter() {
                int mCurrentLayerType = View.LAYER_TYPE_NONE;

                @Override/*from  ww  w.  ja v  a2s.  co m*/
                public void onAnimationStart(Animator animation) {
                    if (hasView()) {
                        View view = mView.get();
                        mCurrentLayerType = view.getLayerType();
                        view.setLayerType(View.LAYER_TYPE_HARDWARE, null);
                        if (ViewCompat.isAttachedToWindow(view)) {
                            view.buildLayer();
                        }
                    }
                }

                @Override
                public void onAnimationEnd(Animator animation) {
                    if (hasView()) {
                        mView.get().setLayerType(mCurrentLayerType, null);
                    }
                }
            });
        }
        if (mStartDelay != -1) {
            animator.setStartDelay(mStartDelay);
        }
        if (mDuration != -1) {
            animator.setDuration(mDuration);
        }
        if (mInterpolator != null) {
            animator.setInterpolator(mInterpolator);
        }
        for (Animator.AnimatorListener listener : mListeners) {
            animator.addListener(listener);
        }
        if (mMarginListener != null) {
            animator.addUpdateListener(mMarginListener);
        }
        if (mDimensionListener != null) {
            animator.addUpdateListener(mDimensionListener);
        }
        if (mPaddingListener != null) {
            animator.addUpdateListener(mPaddingListener);
        }
        if (mScrollListener != null) {
            animator.addUpdateListener(mScrollListener);
        }
        if (mPercentListener != null) {
            animator.addUpdateListener(mPercentListener);
        }
        for (ValueAnimator.AnimatorUpdateListener listener : mUpdateListeners) {
            animator.addUpdateListener(listener);
        }
        if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            for (Animator.AnimatorPauseListener listener : mPauseListeners) {
                animator.addPauseListener(listener);
            }
        }
        return animator;
    }
    return ObjectAnimator.ofFloat(null, View.ALPHA, 1, 1);
}