Example usage for android.support.v4.view ViewPropertyAnimatorCompat rotationX

List of usage examples for android.support.v4.view ViewPropertyAnimatorCompat rotationX

Introduction

In this page you can find the example usage for android.support.v4.view ViewPropertyAnimatorCompat rotationX.

Prototype

public ViewPropertyAnimatorCompat rotationX(float f) 

Source Link

Usage

From source file:com.example.lulu.recyclerviewdemo.MyItemAnimator.java

void animateMoveImpl(final ViewHolder holder, int fromX, int fromY, int toX, int toY) {
    final View view = holder.itemView;
    final int deltaX = toX - fromX;
    final int deltaY = toY - fromY;
    if (deltaX != 0) {
        ViewCompat.animate(view).translationX(0);
    }//from w  w  w . j a v a 2s .c  om
    if (deltaY != 0) {
        ViewCompat.animate(view).translationY(0);
    }
    // TODO: make EndActions end listeners instead, since end actions aren't called when
    // vpas are canceled (and can't end them. why?)
    // need listener functionality in VPACompat for this. Ick.
    final ViewPropertyAnimatorCompat animation = ViewCompat.animate(view);
    //X
    animation.rotationX(360);
    mMoveAnimations.add(holder);
    animation.setDuration(getMoveDuration()).setListener(new VpaListenerAdapter() {
        @Override
        public void onAnimationStart(View view) {
            dispatchMoveStarting(holder);
        }

        @Override
        public void onAnimationCancel(View view) {
            if (deltaX != 0) {
                ViewCompat.setTranslationX(view, 0);
            }
            if (deltaY != 0) {
                ViewCompat.setTranslationY(view, 0);
            }
        }

        @Override
        public void onAnimationEnd(View view) {
            animation.setListener(null);
            dispatchMoveFinished(holder);
            mMoveAnimations.remove(holder);
            dispatchFinishedWhenDone();
            view.setRotationX(0);
        }
    }).start();
}