package com.example.scoop.basics.ui.transitions.dialogtransitions; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.view.View; import android.view.ViewGroup; import com.lyft.scoop.TransitionListener; import com.lyft.scoop.transitions.ObjectAnimatorTransition; public class SlideUpTransition extends ObjectAnimatorTransition { @Override public void performTranslate(final ViewGroup root, final View from, View to, final TransitionListener transitionListener) { if (to == null) { root.removeView(from); return; } Animator animator = createAnimator(to); animator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { root.removeView(from); transitionListener.onTransitionCompleted(); } }); animator.start(); } private Animator createAnimator(View from) { int toTranslation = from.getHeight(); AnimatorSet set = new AnimatorSet(); set.play(ObjectAnimator.ofFloat(from, View.TRANSLATION_Y, toTranslation, 0)); return set; } }