Search in sources :

Example 1 with AnimatorListenerAdapter

use of com.nineoldandroids.animation.AnimatorListenerAdapter in project Carbon by ZieIony.

the class CheckableDrawable method setChecked.

public void setChecked(CheckedState state) {
    if (checkedState == state)
        return;
    if (checkedState == CheckedState.UNCHECKED) {
        if (state == CheckedState.CHECKED) {
            Animator fill = animateFill();
            fill.addListener(new AnimatorListenerAdapter() {

                @Override
                public void onAnimationEnd(Animator animation) {
                    animateCheck().start();
                }
            });
            fill.start();
        } else {
            animateFill().start();
        }
    }
    if (checkedState == CheckedState.CHECKED) {
        if (state == CheckedState.UNCHECKED) {
            ValueAnimator check = animateCheck();
            check.addListener(new AnimatorListenerAdapter() {

                @Override
                public void onAnimationEnd(Animator animation) {
                    animateFill().reverse();
                }
            });
            check.reverse();
        } else {
            animateCheck().reverse();
        }
    }
    if (checkedState == CheckedState.INDETERMINATE) {
        if (state == CheckedState.CHECKED) {
            animateCheck().start();
        } else {
            animateFill().reverse();
        }
    }
    checkedState = state;
    invalidateSelf();
}
Also used : ValueAnimator(com.nineoldandroids.animation.ValueAnimator) Animator(com.nineoldandroids.animation.Animator) AnimatorListenerAdapter(com.nineoldandroids.animation.AnimatorListenerAdapter) ValueAnimator(com.nineoldandroids.animation.ValueAnimator)

Example 2 with AnimatorListenerAdapter

use of com.nineoldandroids.animation.AnimatorListenerAdapter in project Carbon by ZieIony.

the class CoordinatorLayout method setVisibility.

public void setVisibility(final int visibility) {
    if (visibility == View.VISIBLE && (getVisibility() != View.VISIBLE || animator != null)) {
        if (animator != null)
            animator.cancel();
        if (inAnim != AnimUtils.Style.None) {
            animator = AnimUtils.animateIn(this, inAnim, new AnimatorListenerAdapter() {

                @Override
                public void onAnimationEnd(Animator a) {
                    animator = null;
                    clearAnimation();
                }
            });
        }
        super.setVisibility(visibility);
    } else if (visibility != View.VISIBLE && (getVisibility() == View.VISIBLE || animator != null)) {
        if (animator != null)
            animator.cancel();
        if (outAnim == AnimUtils.Style.None) {
            super.setVisibility(visibility);
            return;
        }
        animator = AnimUtils.animateOut(this, outAnim, new AnimatorListenerAdapter() {

            @Override
            public void onAnimationEnd(Animator a) {
                if (((ValueAnimator) a).getAnimatedFraction() == 1)
                    CoordinatorLayout.super.setVisibility(visibility);
                animator = null;
                clearAnimation();
            }
        });
    }
}
Also used : ValueAnimator(com.nineoldandroids.animation.ValueAnimator) Animator(com.nineoldandroids.animation.Animator) StateAnimator(carbon.animation.StateAnimator) AnimatorListenerAdapter(com.nineoldandroids.animation.AnimatorListenerAdapter) ValueAnimator(com.nineoldandroids.animation.ValueAnimator)

Example 3 with AnimatorListenerAdapter

use of com.nineoldandroids.animation.AnimatorListenerAdapter in project Carbon by ZieIony.

the class DefaultItemAnimator method animateMoveImpl.

private void animateMoveImpl(final RecyclerView.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;
    // 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 ValueAnimator animation = ValueAnimator.ofFloat(0, 1);
    mMoveAnimations.add(holder);
    animation.setDuration(getMoveDuration());
    final float startX = ViewHelper.getTranslationX(view);
    final float startY = ViewHelper.getTranslationY(view);
    animation.addUpdateListener(__ -> {
        ViewHelper.setTranslationX(view, MathUtils.lerp(startX, 0, (Float) animation.getAnimatedValue()));
        ViewHelper.setTranslationY(view, MathUtils.lerp(startY, 0, (Float) animation.getAnimatedValue()));
    });
    animation.addListener(new AnimatorListenerAdapter() {

        @Override
        public void onAnimationStart(Animator animation) {
            dispatchMoveStarting(holder);
        }

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

        @Override
        public void onAnimationEnd(Animator animation) {
            dispatchMoveFinished(holder);
            mMoveAnimations.remove(holder);
            dispatchFinishedWhenDone();
        }
    });
    animation.start();
}
Also used : ValueAnimator(com.nineoldandroids.animation.ValueAnimator) Animator(com.nineoldandroids.animation.Animator) SimpleItemAnimator(android.support.v7.widget.SimpleItemAnimator) AnimatorListenerAdapter(com.nineoldandroids.animation.AnimatorListenerAdapter) ValueAnimator(com.nineoldandroids.animation.ValueAnimator) RecyclerView(android.support.v7.widget.RecyclerView) View(android.view.View)

Example 4 with AnimatorListenerAdapter

use of com.nineoldandroids.animation.AnimatorListenerAdapter in project Carbon by ZieIony.

the class AppBarLayout method setVisibility.

public void setVisibility(final int visibility) {
    if (visibility == View.VISIBLE && (getVisibility() != View.VISIBLE || animator != null)) {
        if (animator != null)
            animator.cancel();
        if (inAnim != AnimUtils.Style.None) {
            animator = AnimUtils.animateIn(this, inAnim, new AnimatorListenerAdapter() {

                @Override
                public void onAnimationEnd(Animator a) {
                    animator = null;
                    clearAnimation();
                }
            });
        }
        super.setVisibility(visibility);
    } else if (visibility != View.VISIBLE && (getVisibility() == View.VISIBLE || animator != null)) {
        if (animator != null)
            animator.cancel();
        if (outAnim == AnimUtils.Style.None) {
            super.setVisibility(visibility);
            return;
        }
        animator = AnimUtils.animateOut(this, outAnim, new AnimatorListenerAdapter() {

            @Override
            public void onAnimationEnd(Animator a) {
                if (((ValueAnimator) a).getAnimatedFraction() == 1)
                    AppBarLayout.super.setVisibility(visibility);
                animator = null;
                clearAnimation();
            }
        });
    }
}
Also used : ValueAnimator(com.nineoldandroids.animation.ValueAnimator) Animator(com.nineoldandroids.animation.Animator) StateAnimator(carbon.animation.StateAnimator) AnimatorListenerAdapter(com.nineoldandroids.animation.AnimatorListenerAdapter) ValueAnimator(com.nineoldandroids.animation.ValueAnimator)

Example 5 with AnimatorListenerAdapter

use of com.nineoldandroids.animation.AnimatorListenerAdapter in project Carbon by ZieIony.

the class CollapsingToolbarLayout method setVisibility.

public void setVisibility(final int visibility) {
    if (visibility == View.VISIBLE && (getVisibility() != View.VISIBLE || animator != null)) {
        if (animator != null)
            animator.cancel();
        if (inAnim != AnimUtils.Style.None) {
            animator = AnimUtils.animateIn(this, inAnim, new AnimatorListenerAdapter() {

                @Override
                public void onAnimationEnd(Animator a) {
                    animator = null;
                    clearAnimation();
                }
            });
        }
        super.setVisibility(visibility);
    } else if (visibility != View.VISIBLE && (getVisibility() == View.VISIBLE || animator != null)) {
        if (animator != null)
            animator.cancel();
        if (outAnim == AnimUtils.Style.None) {
            super.setVisibility(visibility);
            return;
        }
        animator = AnimUtils.animateOut(this, outAnim, new AnimatorListenerAdapter() {

            @Override
            public void onAnimationEnd(Animator a) {
                if (((ValueAnimator) a).getAnimatedFraction() == 1)
                    CollapsingToolbarLayout.super.setVisibility(visibility);
                animator = null;
                clearAnimation();
            }
        });
    }
}
Also used : ValueAnimator(com.nineoldandroids.animation.ValueAnimator) Animator(com.nineoldandroids.animation.Animator) StateAnimator(carbon.animation.StateAnimator) AnimatorListenerAdapter(com.nineoldandroids.animation.AnimatorListenerAdapter) ValueAnimator(com.nineoldandroids.animation.ValueAnimator)

Aggregations

Animator (com.nineoldandroids.animation.Animator)67 AnimatorListenerAdapter (com.nineoldandroids.animation.AnimatorListenerAdapter)67 ValueAnimator (com.nineoldandroids.animation.ValueAnimator)49 StateAnimator (carbon.animation.StateAnimator)28 ObjectAnimator (com.nineoldandroids.animation.ObjectAnimator)17 AnimatorSet (com.nineoldandroids.animation.AnimatorSet)13 View (android.view.View)11 Interpolator (android.view.animation.Interpolator)11 Reveal (carbon.internal.Reveal)11 DecelerateInterpolator (android.view.animation.DecelerateInterpolator)8 RecyclerView (android.support.v7.widget.RecyclerView)5 SimpleItemAnimator (android.support.v7.widget.SimpleItemAnimator)4 MotionEvent (android.view.MotionEvent)3 ViewGroup (android.view.ViewGroup)3 ViewPropertyAnimator (android.view.ViewPropertyAnimator)3 TextView (android.widget.TextView)3 Point (android.graphics.Point)2 Rect (android.graphics.Rect)2 AbsListView (android.widget.AbsListView)2 ListView (android.widget.ListView)2