@@ -0,0 +1,2656 @@
+package com.zhucai;%0A%0Aimport android.animation.ObjectAnimator;%0Aimport android.animation.TimeInterpolator;%0Aimport android.animation.ValueAnimator;%0Aimport android.util.Property;%0A%0Apublic class FasterStartAnimatorUtils %7B%0A%0A    static public float%5B%5D processFloatParams(long duration, TimeInterpolator interpolator, float... values) %7B%0A        if (values == null %7C%7C values.length == 0) return null;%0A%0A        if (values.length == 1) return processFloatParams(duration, interpolator, 0.f, values%5B0%5D);%0A%0A        float f = 16.7f / (duration + 16.7f);%0A        if (interpolator != null) %7B%0A            f = interpolator.getInterpolation(f);%0A        %7D%0A        values%5B0%5D += (values%5B1%5D - values%5B0%5D) * f;%0A        return values;%0A    %7D%0A%0A    static public int%5B%5D processIntParams(long duration, TimeInterpolator interpolator, int... values) %7B%0A        if (values == null %7C%7C values.length == 0) return null;%0A%0A        if (values.length == 1) return processIntParams(duration, interpolator, 0, values%5B0%5D);%0A%0A        float f = 16.7f / (duration + 16.7f);%0A        if (interpolator != null) %7B%0A            f = interpolator.getInterpolation(f);%0A        %7D%0A        values%5B0%5D += (values%5B1%5D - values%5B0%5D) * f;%0A        return values;%0A    %7D%0A%0A    static public ValueAnimator ofFloat(long duration, TimeInterpolator interpolator, float... values) %7B%0A        ValueAnimator animator = ValueAnimator.ofFloat(processFloatParams(duration, interpolator, values));%0A        animator.setDuration(duration);%0A        animator.setInterpolator(interpolator);%0A        return animator;%0A    %7D%0A%0A    static public ValueAnimator ofInt(long duration, TimeInterpolator interpolator, int... values) %7B%0A        ValueAnimator animator = ValueAnimator.ofInt(processIntParams(duration, interpolator, values));%0A        animator.setDuration(duration);%0A        animator.setInterpolator(interpolator);%0A        return animator;%0A    %7D%0A%0A   public static %3CT%3E ObjectAnimator ofFloat(T target, Property%3CT, Float%3E property, long duration,%0A           TimeInterpolator interpolator, float... values) %7B%0A       ObjectAnimator animator = ObjectAnimator.ofFloat(target, property, processFloatParams(duration, interpolator, values));%0A       animator.setDuration(duration);%0A       animator.setInterpolator(interpolator);%0A       return animator;%0A   %7D%0A%0A   public static %3CT%3E ObjectAnimator ofInt(T target, Property%3CT, Integer%3E property, long duration,%0A           TimeInterpolator interpolator, int... values) %7B%0A       ObjectAnimator animator = ObjectAnimator.ofInt(target, property, processIntParams(duration, interpolator, values));%0A       animator.setDuration(duration);%0A       animator.setInterpolator(interpolator);%0A       return animator;%0A   %7D%0A%7D%0A

Create FasterStartAnimatorUtils.java