/// <summary>
        /// Hides the ShowCaseView with animation
        /// </summary>
        public void Hide()
        {
            if (mExitAnimation != null)
            {
                StartAnimation(mExitAnimation);
            }
            else if (ShowcaseUtils.ShouldShowCircularAnimation())
            {
                DoCircularExitAnimation();
            }
            else
            {
                Animation fadeOut = AnimationUtils.LoadAnimation(mActivity, Resource.Animation.fade_out);
                fadeOut.AnimationEnd += (s, e) =>
                {
                    RemoveView();
                    if (mAnimationListener != null)
                    {
                        mAnimationListener.OnExitAnimationEnd();
                    }
                };

                fadeOut.FillAfter = true;
                StartAnimation(fadeOut);
            }
        }
        /// <summary>
        /// Starts enter animation of ShowCaseView
        /// </summary>
        private void StartEnterAnimation()
        {
            if (mEnterAnimation != null)
            {
                StartAnimation(mEnterAnimation);
            }
            else if (ShowcaseUtils.ShouldShowCircularAnimation())
            {
                DoCircularEnterAnimation();
            }
            else
            {
                Animation fadeInAnimation = AnimationUtils.LoadAnimation(mActivity, Resource.Animation.fade_in);
                fadeInAnimation.FillAfter     = true;
                fadeInAnimation.AnimationEnd += (s, e) =>
                {
                    if (mAnimationListener != null)
                    {
                        mAnimationListener.OnEnterAnimationEnd();
                    }
                };

                StartAnimation(fadeInAnimation);
            }
        }
        public void OnViewInflated(View view)
        {
            TextView textView = (TextView)view.FindViewById(Resource.Id.scv_title);

            if (Build.VERSION.SdkInt >= BuildVersionCodes.M)
            {
                textView.SetTextAppearance(mTitleStyle);
            }
            else
            {
                // This is depreciated, but works on older APIs
                textView.SetTextAppearance(mActivity, mTitleStyle);
            }

            if (mTitleSize != -1)
            {
                textView.SetTextSize((ComplexUnitType)mTitleSizeUnit, mTitleSize);
            }

            textView.Gravity = (GravityFlags)mTitleGravity;

            if (mFitSystemWindows)
            {
                RelativeLayout.LayoutParams para = (RelativeLayout.LayoutParams)textView.LayoutParameters;

                para.SetMargins(0, ShowcaseUtils.GetStatusBarHeight(Context), 0, 0);
            }
            if (mSpannedTitle != null)
            {
                textView.TextFormatted = mSpannedTitle;
            }
            else
            {
                textView.Text = mTitle;
            }
        }