Skip to content

Commit

Permalink
add singleInterpolator
Browse files Browse the repository at this point in the history
  • Loading branch information
skykai committed Mar 24, 2016
1 parent dfa45e0 commit 7a41dfd
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 5 deletions.
Expand Up @@ -11,6 +11,7 @@
import android.view.animation.BounceInterpolator;
import android.view.animation.DecelerateInterpolator;
import android.view.animation.LinearInterpolator;
import android.view.animation.OvershootInterpolator;
import android.widget.ImageView;
import android.widget.TextView;

Expand Down Expand Up @@ -169,17 +170,17 @@ protected void animateParallel() {
ViewAnimator.animate(mountain, image)
.dp().translationY(-1000, 0)
.alpha(0, 1)
.singleInterpolator(new OvershootInterpolator())

.andAnimate(percent)
.scale(0, 1)

.andAnimate(text)
.dp().translationY(1000, 0)
.textColor(Color.BLACK, Color.WHITE)
.backgroundColor(Color.WHITE, Color.BLACK)

.waitForHeight()
.interpolator(new AccelerateDecelerateInterpolator())
.singleInterpolator(new AccelerateDecelerateInterpolator())
.duration(2000)

.thenAnimate(percent)
Expand Down
Expand Up @@ -30,6 +30,7 @@ public class AnimationBuilder {
private final List<Animator> animatorList = new ArrayList<Animator>();
private boolean waitForHeight;
private boolean nextValueWillBeDp = false;
private Interpolator singleInterpolator = null;

/**
* Instantiates a new Animation builder.
Expand Down Expand Up @@ -445,6 +446,15 @@ public AnimationBuilder interpolator(Interpolator interpolator) {
return this;
}

public AnimationBuilder singleInterpolator(Interpolator interpolator) {
singleInterpolator = interpolator;
return this;
}

public Interpolator getSingleInterpolator() {
return singleInterpolator;
}

public ViewAnimator accelerate() {
return viewAnimator.interpolator(new AccelerateInterpolator());
}
Expand Down
@@ -1,14 +1,15 @@
package com.github.florent37.viewanimator;

import com.nineoldandroids.animation.Animator;
import com.nineoldandroids.animation.AnimatorSet;
import com.nineoldandroids.animation.ValueAnimator;
import android.support.annotation.IntDef;
import android.support.annotation.IntRange;
import android.view.View;
import android.view.ViewTreeObserver;
import android.view.animation.Interpolator;

import com.nineoldandroids.animation.Animator;
import com.nineoldandroids.animation.AnimatorSet;
import com.nineoldandroids.animation.ValueAnimator;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
Expand Down Expand Up @@ -68,6 +69,12 @@ public AnimationBuilder addAnimationBuilder(View... views) {
protected AnimatorSet createAnimatorSet() {
List<Animator> animators = new ArrayList<>();
for (AnimationBuilder animationBuilder : animationList) {
List<Animator> animatorList = animationBuilder.createAnimators();
if (animationBuilder.getSingleInterpolator() != null) {
for (Animator animator : animatorList) {
animator.setInterpolator(animationBuilder.getSingleInterpolator());
}
}
animators.addAll(animationBuilder.createAnimators());
}

Expand Down

0 comments on commit 7a41dfd

Please sign in to comment.