Java Code Examples for android.animation.ValueAnimator#getDuration()
The following examples show how to use
android.animation.ValueAnimator#getDuration() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ViewAnim.java From AndroidStudyDemo with GNU General Public License v2.0 | 6 votes |
@Override public void onAnimationUpdate(ValueAnimator valueAnimator) { if (valueAnimator.getCurrentPlayTime() <= valueAnimator.getDuration()) { float fraction = valueAnimator.getAnimatedFraction();// 动画进度 float scaleXDuration = mFinalBounds.width() - mStartBounds.width(); float scaleYDuration = mFinalBounds.height() - mStartBounds.height(); mView.getLayoutParams().width = (int)(mStartBounds.width() + (scaleXDuration * fraction)); mView.getLayoutParams().height = (int)(mStartBounds.height() + (scaleYDuration * fraction)); if (mListener != null) { mListener.onViewAnimationUpdate(mView, valueAnimator, fraction); } } mView.requestLayout(); }
Example 2
Source File: ViewAnim.java From nono-android with GNU General Public License v3.0 | 6 votes |
@Override public void onAnimationUpdate(ValueAnimator valueAnimator) { if (valueAnimator.getCurrentPlayTime() <= valueAnimator.getDuration()) { float fraction = valueAnimator.getAnimatedFraction();// 动画进度 float scaleXDuration = mFinalBounds.width() - mStartBounds.width(); float scaleYDuration = mFinalBounds.height() - mStartBounds.height(); mView.getLayoutParams().width = (int)(mStartBounds.width() + (scaleXDuration * fraction)); mView.getLayoutParams().height = (int)(mStartBounds.height() + (scaleYDuration * fraction)); if (mListener != null) { mListener.onViewAnimationUpdate(mView, valueAnimator, fraction); } } mView.requestLayout(); }
Example 3
Source File: ViewAnim.java From ActivityOptionsICS with Eclipse Public License 1.0 | 6 votes |
@Override public void onAnimationUpdate(ValueAnimator valueAnimator) { if (valueAnimator.getCurrentPlayTime() <= valueAnimator.getDuration()) { float fraction = valueAnimator.getAnimatedFraction();// 动画进度 float scaleXDuration = mFinalBounds.width() - mStartBounds.width(); float scaleYDuration = mFinalBounds.height() - mStartBounds.height(); mView.getLayoutParams().width = (int)(mStartBounds.width() + (scaleXDuration * fraction)); mView.getLayoutParams().height = (int)(mStartBounds.height() + (scaleYDuration * fraction)); if (mListener != null) { mListener.onViewAnimationUpdate(mView, valueAnimator, fraction); } } mView.requestLayout(); }
Example 4
Source File: MotionTiming.java From material-components-android with Apache License 2.0 | 5 votes |
@NonNull static MotionTiming createFromAnimator(@NonNull ValueAnimator animator) { MotionTiming timing = new MotionTiming( animator.getStartDelay(), animator.getDuration(), getInterpolatorCompat(animator)); timing.repeatCount = animator.getRepeatCount(); timing.repeatMode = animator.getRepeatMode(); return timing; }
Example 5
Source File: CircularProgressBarUtils.java From SimplifyReader with Apache License 2.0 | 5 votes |
static float getAnimatedFraction(ValueAnimator animator) { float fraction = animator.getDuration() > 0 ? ((float) animator.getCurrentPlayTime()) / animator.getDuration() : 0f; fraction = min(fraction, 1f); fraction = animator.getInterpolator().getInterpolation(fraction); return fraction; }
Example 6
Source File: CircularProgressBarUtils.java From Lay-s with MIT License | 5 votes |
static float getAnimatedFraction(ValueAnimator animator) { float fraction = animator.getDuration() > 0 ? ((float) animator.getCurrentPlayTime()) / animator.getDuration() : 0f; fraction = min(fraction, 1f); fraction = animator.getInterpolator().getInterpolation(fraction); return fraction; }
Example 7
Source File: IconReleasePainter.java From UltimateAndroid with Apache License 2.0 | 5 votes |
@Override public void onAnimationUpdate(ValueAnimator animation) { iconYPosition = ((int) animation.getAnimatedValue() - iconMargin); if (animation.getCurrentPlayTime() > animation.getDuration() / 2 && !alphaEnterTrigger && actualState.equals(MaterialAnimatedSwitchState.RELEASE)) { exitAlphaAnimator.start(); alphaEnterTrigger = true; } }
Example 8
Source File: FloatingView.java From dingo with GNU General Public License v3.0 | 4 votes |
/** * Update animation initialization flag * * @param animation {@link ValueAnimator} */ private void updateInitAnimation(ValueAnimator animation) { if (mAnimateInitialMove && animation.getDuration() <= animation.getCurrentPlayTime()) { mIsInitialAnimationRunning = false; } }
Example 9
Source File: FirstFrameAnimatorHelper.java From LaunchEnr with GNU General Public License v3.0 | 4 votes |
public void onAnimationUpdate(final ValueAnimator animation) { final long currentTime = System.currentTimeMillis(); if (mStartTime == -1) { mStartFrame = sGlobalFrameCounter; mStartTime = currentTime; } final long currentPlayTime = animation.getCurrentPlayTime(); boolean isFinalFrame = Float.compare(1f, animation.getAnimatedFraction()) == 0; if (!mHandlingOnAnimationUpdate && sVisible && // If the current play time exceeds the duration, or the animated fraction is 1, // the animation will get finished, even if we call setCurrentPlayTime -- therefore // don't adjust the animation in that case currentPlayTime < animation.getDuration() && !isFinalFrame) { mHandlingOnAnimationUpdate = true; long frameNum = sGlobalFrameCounter - mStartFrame; // If we haven't drawn our first frame, reset the time to t = 0 // (give up after MAX_DELAY ms of waiting though - might happen, for example, if we // are no longer in the foreground and no frames are being rendered ever) if (frameNum == 0 && currentTime < mStartTime + MAX_DELAY && currentPlayTime > 0) { // The first frame on animations doesn't always trigger an invalidate... // force an invalidate here to make sure the animation continues to advance mTarget.getRootView().invalidate(); animation.setCurrentPlayTime(0); // For the second frame, if the first frame took more than 16ms, // adjust the start time and pretend it took only 16ms anyway. This // prevents a large jump in the animation due to an expensive first frame } else if (frameNum == 1 && currentTime < mStartTime + MAX_DELAY && !mAdjustedSecondFrameTime && currentTime > mStartTime + IDEAL_FRAME_DURATION && currentPlayTime > IDEAL_FRAME_DURATION) { animation.setCurrentPlayTime(IDEAL_FRAME_DURATION); mAdjustedSecondFrameTime = true; } else { if (frameNum > 1) { mTarget.post(new Runnable() { public void run() { animation.removeUpdateListener(FirstFrameAnimatorHelper.this); } }); } } mHandlingOnAnimationUpdate = false; } }
Example 10
Source File: FirstFrameAnimatorHelper.java From Trebuchet with GNU General Public License v3.0 | 4 votes |
public void onAnimationUpdate(final ValueAnimator animation) { final long currentTime = System.currentTimeMillis(); if (mStartTime == -1) { mStartFrame = sGlobalFrameCounter; mStartTime = currentTime; } final long currentPlayTime = animation.getCurrentPlayTime(); boolean isFinalFrame = Float.compare(1f, animation.getAnimatedFraction()) == 0; if (!mHandlingOnAnimationUpdate && sVisible && // If the current play time exceeds the duration, or the animated fraction is 1, // the animation will get finished, even if we call setCurrentPlayTime -- therefore // don't adjust the animation in that case currentPlayTime < animation.getDuration() && !isFinalFrame) { mHandlingOnAnimationUpdate = true; long frameNum = sGlobalFrameCounter - mStartFrame; // If we haven't drawn our first frame, reset the time to t = 0 // (give up after MAX_DELAY ms of waiting though - might happen, for example, if we // are no longer in the foreground and no frames are being rendered ever) if (frameNum == 0 && currentTime < mStartTime + MAX_DELAY && currentPlayTime > 0) { // The first frame on animations doesn't always trigger an invalidate... // force an invalidate here to make sure the animation continues to advance mTarget.getRootView().invalidate(); animation.setCurrentPlayTime(0); // For the second frame, if the first frame took more than 16ms, // adjust the start time and pretend it took only 16ms anyway. This // prevents a large jump in the animation due to an expensive first frame } else if (frameNum == 1 && currentTime < mStartTime + MAX_DELAY && !mAdjustedSecondFrameTime && currentTime > mStartTime + IDEAL_FRAME_DURATION && currentPlayTime > IDEAL_FRAME_DURATION) { animation.setCurrentPlayTime(IDEAL_FRAME_DURATION); mAdjustedSecondFrameTime = true; } else { if (frameNum > 1) { mTarget.post(new Runnable() { public void run() { animation.removeUpdateListener(FirstFrameAnimatorHelper.this); } }); } if (DEBUG) print(animation); } mHandlingOnAnimationUpdate = false; } else { if (DEBUG) print(animation); } }
Example 11
Source File: FirstFrameAnimatorHelper.java From Trebuchet with GNU General Public License v3.0 | 4 votes |
public void print(ValueAnimator animation) { float flatFraction = animation.getCurrentPlayTime() / (float) animation.getDuration(); Log.d("FirstFrameAnimatorHelper", sGlobalFrameCounter + "(" + (sGlobalFrameCounter - mStartFrame) + ") " + mTarget + " dirty? " + mTarget.isDirty() + " " + flatFraction + " " + this + " " + animation); }
Example 12
Source File: FirstFrameAnimatorHelper.java From TurboLauncher with Apache License 2.0 | 4 votes |
public void onAnimationUpdate(final ValueAnimator animation) { final long currentTime = System.currentTimeMillis(); if (mStartTime == -1) { mStartFrame = sGlobalFrameCounter; mStartTime = currentTime; } final long currentPlayTime = animation.getCurrentPlayTime(); if (!mHandlingOnAnimationUpdate && sVisible && // If the current play time exceeds the duration, the animation // will get finished, even if we call setCurrentPlayTime -- therefore // don't adjust the animation in that case currentPlayTime < animation.getDuration()) { mHandlingOnAnimationUpdate = true; long frameNum = sGlobalFrameCounter - mStartFrame; // If we haven't drawn our first frame, reset the time to t = 0 // (give up after MAX_DELAY ms of waiting though - might happen, for example, if we // are no longer in the foreground and no frames are being rendered ever) if (frameNum == 0 && currentTime < mStartTime + MAX_DELAY && currentPlayTime > 0) { // The first frame on animations doesn't always trigger an invalidate... // force an invalidate here to make sure the animation continues to advance mTarget.getRootView().invalidate(); animation.setCurrentPlayTime(0); // For the second frame, if the first frame took more than 16ms, // adjust the start time and pretend it took only 16ms anyway. This // prevents a large jump in the animation due to an expensive first frame } else if (frameNum == 1 && currentTime < mStartTime + MAX_DELAY && !mAdjustedSecondFrameTime && currentTime > mStartTime + IDEAL_FRAME_DURATION && currentPlayTime > IDEAL_FRAME_DURATION) { animation.setCurrentPlayTime(IDEAL_FRAME_DURATION); mAdjustedSecondFrameTime = true; } else { if (frameNum > 1) { mTarget.post(new Runnable() { public void run() { animation.removeUpdateListener(FirstFrameAnimatorHelper.this); } }); } if (DEBUG) print(animation); } mHandlingOnAnimationUpdate = false; } else { if (DEBUG) print(animation); } }
Example 13
Source File: FirstFrameAnimatorHelper.java From TurboLauncher with Apache License 2.0 | 4 votes |
public void print(ValueAnimator animation) { float flatFraction = animation.getCurrentPlayTime() / (float) animation.getDuration(); Log.d("FirstFrameAnimatorHelper", sGlobalFrameCounter + "(" + (sGlobalFrameCounter - mStartFrame) + ") " + mTarget + " dirty? " + mTarget.isDirty() + " " + flatFraction + " " + this + " " + animation); }
Example 14
Source File: FloatingView.java From FloatingView with Apache License 2.0 | 4 votes |
/** * Update animation initialization flag * * @param animation {@link ValueAnimator} */ private void updateInitAnimation(ValueAnimator animation) { if (mAnimateInitialMove && animation.getDuration() <= animation.getCurrentPlayTime()) { mIsInitialAnimationRunning = false; } }
Example 15
Source File: FirstFrameAnimatorHelper.java From LB-Launcher with Apache License 2.0 | 4 votes |
public void onAnimationUpdate(final ValueAnimator animation) { final long currentTime = System.currentTimeMillis(); if (mStartTime == -1) { mStartFrame = sGlobalFrameCounter; mStartTime = currentTime; } final long currentPlayTime = animation.getCurrentPlayTime(); boolean isFinalFrame = Float.compare(1f, animation.getAnimatedFraction()) == 0; if (!mHandlingOnAnimationUpdate && sVisible && // If the current play time exceeds the duration, or the animated fraction is 1, // the animation will get finished, even if we call setCurrentPlayTime -- therefore // don't adjust the animation in that case currentPlayTime < animation.getDuration() && !isFinalFrame) { mHandlingOnAnimationUpdate = true; long frameNum = sGlobalFrameCounter - mStartFrame; // If we haven't drawn our first frame, reset the time to t = 0 // (give up after MAX_DELAY ms of waiting though - might happen, for example, if we // are no longer in the foreground and no frames are being rendered ever) if (frameNum == 0 && currentTime < mStartTime + MAX_DELAY && currentPlayTime > 0) { // The first frame on animations doesn't always trigger an invalidate... // force an invalidate here to make sure the animation continues to advance mTarget.getRootView().invalidate(); animation.setCurrentPlayTime(0); // For the second frame, if the first frame took more than 16ms, // adjust the start time and pretend it took only 16ms anyway. This // prevents a large jump in the animation due to an expensive first frame } else if (frameNum == 1 && currentTime < mStartTime + MAX_DELAY && !mAdjustedSecondFrameTime && currentTime > mStartTime + IDEAL_FRAME_DURATION && currentPlayTime > IDEAL_FRAME_DURATION) { animation.setCurrentPlayTime(IDEAL_FRAME_DURATION); mAdjustedSecondFrameTime = true; } else { if (frameNum > 1) { mTarget.post(new Runnable() { public void run() { animation.removeUpdateListener(FirstFrameAnimatorHelper.this); } }); } if (DEBUG) print(animation); } mHandlingOnAnimationUpdate = false; } else { if (DEBUG) print(animation); } }
Example 16
Source File: FirstFrameAnimatorHelper.java From LB-Launcher with Apache License 2.0 | 4 votes |
public void print(ValueAnimator animation) { float flatFraction = animation.getCurrentPlayTime() / (float) animation.getDuration(); Log.d("FirstFrameAnimatorHelper", sGlobalFrameCounter + "(" + (sGlobalFrameCounter - mStartFrame) + ") " + mTarget + " dirty? " + mTarget.isDirty() + " " + flatFraction + " " + this + " " + animation); }