package com.iwhys.mylistview.jazzy;
import android.view.View;
import android.view.ViewPropertyAnimator;
/**
* This interface serves as the contract for a transition effect.
*/
public interface JazzyEffect {
/**
* Initializes the view's attributes so that the view is in position to begin the animation.
*
* @param item The view to be animated.
* @param position The index of the view in the list.
* @param scrollDirection Positive number indicating scrolling down, or negative number indicating scrolling up.
*/
void initView(View item, int position, int scrollDirection);
/**
* Configures the animator object with the relative changes or destination point for any attributes that will be animated.
*
* @param item The view to be animated.
* @param position The index of the view in the list.
* @param scrollDirection Positive number indicating scrolling down, or negative number indicating scrolling up.
* @param animator The ViewPropertyAnimator object responsible for animating the view.
*/
void setupAnimation(View item, int position, int scrollDirection, ViewPropertyAnimator animator);
}