/** Hide the SuperCardToast and animate the Layout. Post Honeycomb only. * */
  @SuppressLint("NewApi")
  private void dismissWithLayoutAnimation() {

    if (mToastView != null) {

      mToastView.setVisibility(View.INVISIBLE);

      final ViewGroup.LayoutParams layoutParams = mToastView.getLayoutParams();
      final int originalHeight = mToastView.getHeight();

      ValueAnimator animator =
          ValueAnimator.ofInt(originalHeight, 1)
              .setDuration(
                  mContext.getResources().getInteger(android.R.integer.config_shortAnimTime));

      animator.addListener(
          new AnimatorListenerAdapter() {

            @Override
            public void onAnimationEnd(Animator animation) {

              Handler mHandler = new Handler();
              mHandler.post(mHideImmediateRunnable);
            }
          });

      animator.addUpdateListener(
          new ValueAnimator.AnimatorUpdateListener() {

            @Override
            public void onAnimationUpdate(ValueAnimator valueAnimator) {

              if (mToastView != null) {

                layoutParams.height = (Integer) valueAnimator.getAnimatedValue();
                mToastView.setLayoutParams(layoutParams);
              }
            }
          });

      animator.start();

    } else {

      dismissImmediately();
    }
  }