Skip to content

Instantly share code, notes, and snippets.

@imran0101
Last active February 22, 2017 12:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save imran0101/6d9b89b64fb046bc1542a41af5ac1928 to your computer and use it in GitHub Desktop.
Save imran0101/6d9b89b64fb046bc1542a41af5ac1928 to your computer and use it in GitHub Desktop.
public void onSelected() {
int index = new Random().nextInt(rotationAngles.length);
ValueAnimator elevateAnimator = ValueAnimator.ofFloat(1f, 1.03f);
elevateAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override public void onAnimationUpdate(ValueAnimator animation) {
float animatedValue = (float) animation.getAnimatedValue();
ViewCompat.setScaleX(cardTodo, animatedValue);
ViewCompat.setScaleY(cardTodo, animatedValue);
}
});
elevateAnimator.setInterpolator(new FastOutSlowInInterpolator());
elevateAnimator.setDuration(200);
ValueAnimator rotateAnimator = ValueAnimator.ofFloat(0, rotationAngles[index]);
rotateAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override public void onAnimationUpdate(ValueAnimator valueAnimator) {
float animatedValue = (float) valueAnimator.getAnimatedValue();
ViewCompat.setRotation(itemView, animatedValue);
}
});
rotateAnimator.setInterpolator(new FastOutSlowInInterpolator());
rotateAnimator.setDuration(200);
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playTogether(elevateAnimator, rotateAnimator);
animatorSet.start();
}
public void onUnselected() {
ValueAnimator elevateAnimator = ValueAnimator.ofFloat(1.03f, 1f);
elevateAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override public void onAnimationUpdate(ValueAnimator animation) {
float animatedValue = (float) animation.getAnimatedValue();
ViewCompat.setScaleX(cardTodo, animatedValue);
ViewCompat.setScaleY(cardTodo, animatedValue);
}
});
elevateAnimator.setInterpolator(new FastOutSlowInInterpolator());
elevateAnimator.setDuration(200);
ValueAnimator rotateAnimator = ValueAnimator.ofFloat(itemView.getRotation(), 0);
rotateAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override public void onAnimationUpdate(ValueAnimator valueAnimator) {
float animatedValue = (float) valueAnimator.getAnimatedValue();
ViewCompat.setRotation(itemView, animatedValue);
}
});
rotateAnimator.setInterpolator(new FastOutSlowInInterpolator());
rotateAnimator.setDuration(200);
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playTogether(rotateAnimator, elevateAnimator);
animatorSet.start();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment