@Override public Integer evaluate(float fraction, Integer startValue, Integer endValue) { float f = accelerateInterpolator.getInterpolation(fraction); int startColor = startValue; int endColor = endValue; int alpha = (int) (Color.alpha(startColor) + f * (Color.alpha(endColor) - Color.alpha(startColor))); int red = (int) (Color.red(startColor) + f * (Color.red(endColor) - Color.red(startColor))); int green = (int) (Color.green(startColor) + f * (Color.green(endColor) - Color.green(startColor))); int blue = (int) (Color.blue(startColor) + f * (Color.blue(endColor) - Color.blue(startColor))); return Color.argb(alpha, red, green, blue); } };
@Override public Integer evaluate(float fraction, Integer startValue, Integer endValue) { float f = accelerateInterpolator.getInterpolation(fraction); int startColor = startValue; int endColor = endValue; int alpha = (int) (Color.alpha(startColor) + f * (Color.alpha(endColor) - Color.alpha(startColor))); int red = (int) (Color.red(startColor) + f * (Color.red(endColor) - Color.red(startColor))); int green = (int) (Color.green(startColor) + f * (Color.green(endColor) - Color.green(startColor))); int blue = (int) (Color.blue(startColor) + f * (Color.blue(endColor) - Color.blue(startColor))); return Color.argb(alpha, red, green, blue); } };
public class CustomBounceInterpolator implements Interpolator { private float timeDivider; private AccelerateInterpolator a; private BounceInterpolator b; public CustomBounceInterpolator(float timeDivider) { a = new AccelerateInterpolator(); b = new BounceInterpolator(); this.timeDivider = timeDivider; } public float getInterpolation(float t) { if (t < timeDivider) return a.getInterpolation(t); else return b.getInterpolation(t); } }
public class AccelerateOvershootInterpolator implements Interpolator { private AccelerateInterpolator accelerate; private OvershootInterpolator overshoot; public AccelerateOvershootInterpolator(float factor, float tension) { accelerate = new AccelerateInterpolator(factor); overshoot = new OvershootInterpolator(tension); } @Override public float getInterpolation(float input) { return overshoot.getInterpolation(accelerate.getInterpolation(input)); } }
float longRatio = Math.abs(fy - touchY) / longDisSide; longRatio = interpolator.getInterpolation(longRatio);
float alpha = accelartor.getInterpolation(diff / duration); if (alpha < 1) { handler.postDelayed(this, 10);
private void animateUp(long delta) { boolean finished = false; int minHeight = (int) (fromHeightPart * bar.getMaxHeight()); int toHeight = (int) (bar.getMaxHeight() * toHeightPart); float timePart = (float) delta / BAR_ANIMATION_UP_DURATION; AccelerateInterpolator interpolator = new AccelerateInterpolator(); int height = minHeight + (int) (interpolator.getInterpolation(timePart) * (toHeight - minHeight)); if (height < bar.getHeight()) { return; } if (height >= toHeight) { height = toHeight; finished = true; } bar.setHeight(height); bar.update(); if (finished) { isUpAnimation = false; startTimestamp = System.currentTimeMillis(); } }
private void animateUp(long delta) { boolean finished = false; int minHeight = (int) (fromHeightPart * bar.getMaxHeight()); int toHeight = (int) (bar.getMaxHeight() * toHeightPart); float timePart = (float) delta / BAR_ANIMATION_UP_DURATION; AccelerateInterpolator interpolator = new AccelerateInterpolator(); int height = minHeight + (int) (interpolator.getInterpolation(timePart) * (toHeight - minHeight)); if (height < bar.getHeight()) { return; } if (height >= toHeight) { height = toHeight; finished = true; } bar.setHeight(height); bar.update(); if (finished) { isUpAnimation = false; startTimestamp = System.currentTimeMillis(); } }
private void animateUp(long delta) { boolean finished = false; int minHeight = (int) (fromHeightPart * bar.getMaxHeight()); int toHeight = (int) (bar.getMaxHeight() * toHeightPart); float timePart = (float) delta / BAR_ANIMATION_UP_DURATION; AccelerateInterpolator interpolator = new AccelerateInterpolator(); int height = minHeight + (int) (interpolator.getInterpolation(timePart) * (toHeight - minHeight)); if (height < bar.getHeight()) { return; } if (height >= toHeight) { height = toHeight; finished = true; } bar.setHeight(height); bar.update(); if (finished) { isUpAnimation = false; startTimestamp = System.currentTimeMillis(); } }
float factor = mAnimationInterpolator.getInterpolation(timeFactor); if (timeFactor <= 1.0) { startXAnimated = (startX - lastAnimationReferenceX) * factor + lastAnimationReferenceX; float factor = mAnimationInterpolator.getInterpolation(timeFactor); if (timeFactor <= 1.0) { first_X = (first_X - lastAnimationReferenceX) * factor + lastAnimationReferenceX;
final float it = getInRange(ACCELERATE_INTERPOLATOR.getInterpolation(t), 0f, 1f); final float it = getInRange(ACCELERATE_INTERPOLATOR.getInterpolation(t), 0f, 1f);
mAccelerateInterpolator.getInterpolation( yDiff / mDistanceToTriggerSync)); float offsetTop = yDiff;
mAccelerateInterpolator.getInterpolation( yDiff / mDistanceToTriggerSync)); updateContentOffsetTop((int) (yDiff));
mAccelerateInterpolator.getInterpolation( yDiff / mDistanceToTriggerSync)); updateContentOffsetTop((int) (yDiff));