package com.example.administrator.cookman.ui.component.magicindicator.buildins.commonnavigator.titles; import android.content.Context; import android.view.animation.Interpolator; import android.view.animation.LinearInterpolator; import com.example.administrator.cookman.ui.component.magicindicator.buildins.ArgbEvaluatorHolder; /** * 两种颜色过渡的指示器标题 * 博客: http://hackware.lucode.net * Created by hackware on 2016/6/26. */ public class ColorTransitionPagerTitleView extends SimplePagerTitleView { private Interpolator mStartInterpolator = new LinearInterpolator(); private Interpolator mEndInterpolator = new LinearInterpolator(); public ColorTransitionPagerTitleView(Context context) { super(context); } @Override public void onSelected(int index, int totalCount) { } @Override public void onDeselected(int index, int totalCount) { } @Override public void onLeave(int index, int totalCount, float leavePercent, boolean leftToRight) { int color = (Integer) ArgbEvaluatorHolder.eval(mEndInterpolator.getInterpolation(leavePercent), getSelectedColor(), getNormalColor()); setTextColor(color); } @Override public void onEnter(int index, int totalCount, float enterPercent, boolean leftToRight) { int color = (Integer) ArgbEvaluatorHolder.eval(mStartInterpolator.getInterpolation(enterPercent), getNormalColor(), getSelectedColor()); setTextColor(color); } public Interpolator getStartInterpolator() { return mStartInterpolator; } public void setStartInterpolator(Interpolator startInterpolator) { mStartInterpolator = startInterpolator; if (mStartInterpolator == null) { mStartInterpolator = new LinearInterpolator(); } } public Interpolator getEndInterpolator() { return mEndInterpolator; } public void setEndInterpolator(Interpolator endInterpolator) { mEndInterpolator = endInterpolator; if (mEndInterpolator == null) { mEndInterpolator = new LinearInterpolator(); } } }