@Override public void onClick(View view) { SpringAnimation springAnimation = new SpringAnimation(img, DynamicAnimation.X); SpringForce springForce = new SpringForce(); springForce.setFinalPosition(img.getX()); springForce.setDampingRatio(SpringForce.DAMPING_RATIO_HIGH_BOUNCY); springForce.setStiffness(SpringForce.STIFFNESS_LOW); springAnimation.setSpring(springForce); springAnimation.setStartVelocity(2000); springAnimation.start(); img.setImageResource(R.drawable.ic_sentiment_very_satisfied_black_56dp); springAnimation.addEndListener(new DynamicAnimation.OnAnimationEndListener() { @Override public void onAnimationEnd(DynamicAnimation animation, boolean canceled, float value, float velocity) { img.setImageResource(R.drawable.ic_sentiment_neutral_black_56dp); } }); } });