protected void resetAnimator(){ animator.removeAllListeners(); animator.removeAllUpdateListeners(); animator.reverse(); animator.addUpdateListener(this); animator.addListener(this); }
public AnimatedViewPortJob(ViewPortHandler viewPortHandler, float xValue, float yValue, Transformer trans, View v, float xOrigin, float yOrigin, long duration) { super(viewPortHandler, xValue, yValue, trans, v); this.xOrigin = xOrigin; this.yOrigin = yOrigin; animator = ObjectAnimator.ofFloat(this, "phase", 0f, 1f); animator.setDuration(duration); animator.addUpdateListener(this); animator.addListener(this); }
void notifyCancel() { for (Animator.AnimatorListener listener : listeners) { listener.onAnimationCancel(this); } }
protected void resetAnimator() { mDropVertexAnimator = ValueAnimator.ofFloat(0.f, 0.f); mDropBounceVerticalAnimator = ValueAnimator.ofFloat(0.f, 0.f); mDropBounceHorizontalAnimator = ValueAnimator.ofFloat(0.f, 0.f); mDropCircleAnimator = ValueAnimator.ofFloat(-1000.f, -1000.f); mDropCircleAnimator.start(); mDisappearCircleAnimator = ValueAnimator.ofFloat(1.f, 1.f); mDisappearCircleAnimator.setDuration(1); // immediately finish animation cycle mDisappearCircleAnimator.start(); }
@Override public void start() { if (!mValueAnimator.isRunning()) { mValueAnimator.addUpdateListener(this); mValueAnimator.start(); } }
@Override public void onAnimationEnd(Animator animation) { if (mState == RefreshState.Refreshing) { if (mDropOutAnimator != null) { mDropOutAnimator.start(); } } else { mDropOutPercent = 0; } } });
int colorFrom = getResources().getColor(R.color.red); int colorTo = getResources().getColor(R.color.blue); ValueAnimator colorAnimation = ValueAnimator.ofObject(new ArgbEvaluator(), colorFrom, colorTo); colorAnimation.setDuration(250); // milliseconds colorAnimation.addUpdateListener(new AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animator) { textView.setBackgroundColor((int) animator.getAnimatedValue()); } }); colorAnimation.start();
@Override public Animator createAnimator(ViewGroup sceneRoot, TransitionValues startValues, TransitionValues endValues) { return ObjectAnimator.ofFloat(endValues.view, View.TRANSLATION_Z, initialElevation, finalElevation); }
@Override public void stop() { if (mValueAnimator.isRunning()) { mValueAnimator.removeAllListeners(); mValueAnimator.removeAllUpdateListeners(); mValueAnimator.cancel(); } }
@Override public void start() { mAnimator.start(); } }
@Override public Animator onDisappear(ViewGroup sceneRoot, View view, TransitionValues startValues, TransitionValues endValues) { return ObjectAnimator.ofPropertyValuesHolder( view, PropertyValuesHolder.ofFloat(View.ALPHA, 0f), PropertyValuesHolder.ofFloat(View.SCALE_X, 0f), PropertyValuesHolder.ofFloat(View.SCALE_Y, 0f)); }
@Override public boolean isRunning() { return mValueAnimator.isRunning(); }
@Override public Animator setDuration(long durationMS) { mAnimator.setDuration(durationMS); return this; }
void notifyEnd(boolean isReverse) { for (Animator.AnimatorListener listener : listeners) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { listener.onAnimationEnd(this, isReverse); } else { listener.onAnimationEnd(this); } } }
void notifyStart(boolean isReverse) { for (Animator.AnimatorListener listener : listeners) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { listener.onAnimationStart(this, isReverse); } else { listener.onAnimationStart(this); } } }
void notifyRepeat() { for (Animator.AnimatorListener listener : listeners) { listener.onAnimationRepeat(this); } }
void notifyUpdate() { for (ValueAnimator.AnimatorUpdateListener listener : updateListeners) { listener.onAnimationUpdate(this); } } }
@Override public void onAnimationEnd(Animator animation) { if (mReboundAnimator != null) { mReboundAnimator.start(); } } });
@Override public void onAnimationRepeat(Animator animator) { mListener.onAnimationRepeat(mAnimator); } }