private AnimatorSet createContentTextShowAnimation(View currentContentText, View newContentText) { int positionDeltaPx = dpToPixels(CONTENT_TEXT_POS_DELTA_Y_DP); AnimatorSet animations = new AnimatorSet(); Animator currentContentMoveUp = ObjectAnimator.OfFloat(currentContentText, "y", 0, -positionDeltaPx); currentContentMoveUp.SetDuration(ANIM_CONTENT_TEXT_HIDE_TIME); var endListener = new AnimatorEndListener(); endListener.OnEndAnimation += () => { mContentTextContainer.RemoveView(currentContentText); }; currentContentMoveUp.AddListener(endListener); Animator currentContentFadeOut = ObjectAnimator.OfFloat(currentContentText, "alpha", 1, 0); currentContentFadeOut.SetDuration(ANIM_CONTENT_TEXT_HIDE_TIME); animations.PlayTogether(currentContentMoveUp, currentContentFadeOut); Animator newContentMoveUp = ObjectAnimator.OfFloat(newContentText, "y", positionDeltaPx, 0); newContentMoveUp.SetDuration(ANIM_CONTENT_TEXT_SHOW_TIME); Animator newContentFadeIn = ObjectAnimator.OfFloat(newContentText, "alpha", 0, 1); newContentFadeIn.SetDuration(ANIM_CONTENT_TEXT_SHOW_TIME); animations.PlayTogether(newContentMoveUp, newContentFadeIn); animations.SetInterpolator(new DecelerateInterpolator()); return(animations); }
protected AnimatorSet createBGAnimatorSet(Android.Graphics.Color color) { View bgColorView = new ImageView(mAppContext); bgColorView.LayoutParameters = new RelativeLayout.LayoutParams(mRootLayout.Width, mRootLayout.Height); bgColorView.SetBackgroundColor(color); mBackgroundContainer.AddView(bgColorView); int[] pos = calculateCurrentCenterCoordinatesOfPagerElement(mActiveElementIndex); float finalRadius = mRootLayout.Width > mRootLayout.Height ? mRootLayout.Width : mRootLayout.Height; AnimatorSet bgAnimSet = new AnimatorSet(); Animator fadeIn = ObjectAnimator.OfFloat(bgColorView, "alpha", 0, 1); if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop) { Animator circularReveal = ViewAnimationUtils.CreateCircularReveal(bgColorView, pos[0], pos[1], 0, finalRadius); circularReveal.SetInterpolator(new AccelerateInterpolator()); bgAnimSet.PlayTogether(circularReveal, fadeIn); } else { bgAnimSet.PlayTogether(fadeIn); } bgAnimSet.SetDuration(ANIM_BACKGROUND_TIME); var endListener = new AnimatorEndListener(); endListener.OnEndAnimation += () => { mRootLayout.SetBackgroundColor(color); bgColorView.Visibility = ViewStates.Gone; mBackgroundContainer.RemoveView(bgColorView); }; bgAnimSet.AddListener(endListener); return(bgAnimSet); }