package com.yzy.supercleanmaster.widget.stickyheader; import android.view.View; public abstract class HeaderAnimator { private View mHeader; private int mMinHeightHeader; private int mHeightHeader; private int mMaxTransaction; public abstract void onScroll(final int scrolledY); /** * Called by the {@link it.carlom.stikkyheader.core.StikkyHeader} to set the {@link com.yzy.supercleanmaster.widget.stickyheader.HeaderAnimator} up */ void setupAnimator(final View header, final int minHeightHeader, final int heightHeader, final int maxTransaction) { this.mHeader = header; this.mMinHeightHeader = minHeightHeader; this.mHeightHeader = heightHeader; this.mMaxTransaction = maxTransaction; onAnimatorAttached(); onAnimatorReady(); } /** * Called after that the animator is attached to the header */ protected abstract void onAnimatorAttached(); /** * Called after that the animator is attached and ready */ protected abstract void onAnimatorReady(); public View getHeader() { return mHeader; } public int getMinHeightHeader() { return mMinHeightHeader; } public int getHeightHeader() { return mHeightHeader; } public int getMaxTransaction() { return mMaxTransaction; } public static float clamp(float value, float min, float max) { return Math.max(min, Math.min(value, max)); } }