code: public static ValueAnimator ofObject(TypeEvaluator evaluator, Object... values) {
          ValueAnimator anim = new ValueAnimator();
          anim.setObjectValues(values);
          anim.setEvaluator(evaluator);
          return anim;
      }
docs: Constructs and returns a ValueAnimator that animates between Object values. A single
  value implies that that value is the one being animated to. However, this is not typically
  useful in a ValueAnimator object because there is no way for the object to determine the
  starting value for the animation (unlike ObjectAnimator, which can derive that value
  from the target object and property being animated). Therefore, there should typically
  be two or more values.
  
  <p>Since ValueAnimator does not know how to animate between arbitrary Objects, this
  factory method also takes a TypeEvaluator object that the ValueAnimator will use
  to perform that interpolation.
  
  @param evaluator A TypeEvaluator that will be called on each animation frame to
  provide the ncessry interpolation between the Object values to derive the animated
  value.
  @param values A set of values that the animation will animate between over time.
  @return A ValueAnimator object that is set up to animate between the given values.