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.ScreenTransition;
import com.lyft.scoop.TransitionListener;
public class SlideDownTransition implements ScreenTransition {
@Override
public void transition(final ViewGroup root, final View from, final View to, final TransitionListener transitionListener) {
Animator animator = createAnimator(from);
animator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
((ViewGroup) from.getParent()).removeView(from);
transitionListener.onTransitionCompleted();
}
});
animator.start();
}
private Animator createAnimator(View from) {
int fromTranslation = from.getHeight();
AnimatorSet set = new AnimatorSet();
set.play(ObjectAnimator.ofFloat(from, View.TRANSLATION_Y, fromTranslation));
return set;
}
}