code: public void setValues(PropertyValuesHolder... values) {
          int numValues = values.length;
          mValues = values;
          mValuesMap = new HashMap<String, PropertyValuesHolder>(numValues);
          for (int i = 0; i < numValues; ++i) {
              PropertyValuesHolder valuesHolder = values[i];
              mValuesMap.put(valuesHolder.getPropertyName(), valuesHolder);
          }
          // New property/values/target should cause re-initialization prior to starting
          mInitialized = false;
      }
docs: Sets the values, per property, being animated between. This function is called internally
  by the constructors of ValueAnimator that take a list of values. But an ValueAnimator can
  be constructed without values and this method can be called to set the values manually
  instead.
  
  @param values The set of values, per property, being animated between.