예제 #1
0
 /**
  * This function is called immediately before processing the first animation frame of an
  * animation. If there is a nonzero <code>startDelay</code>, the function is called after that
  * delay ends. It takes care of the final initialization steps for the animation. This includes
  * setting mEvaluator, if the user has not yet set it up, and the setter/getter methods, if the
  * user did not supply them.
  *
  * <p>Overriders of this method should call the superclass method to cause internal mechanisms to
  * be set up correctly.
  */
 @Override
 void initAnimation() {
   if (!mInitialized) {
     // mValueType may change due to setter/getter setup; do this before calling super.init(),
     // which uses mValueType to set up the default type evaluator.
     if ((mProperty == null)
         && AnimatorProxy.NEEDS_PROXY
         && (mTarget instanceof View)
         && PROXY_PROPERTIES.containsKey(mPropertyName)) {
       setProperty(PROXY_PROPERTIES.get(mPropertyName));
     }
     int numValues = mValues.length;
     for (int i = 0; i < numValues; ++i) {
       mValues[i].setupSetterAndGetter(mTarget);
     }
     super.initAnimation();
   }
 }