private void ShowSyncError (bool visible) { if (currentAnimation != null) { currentAnimation.Cancel(); currentAnimation = null; } if (visible && syncErrorBar.Visibility == ViewStates.Gone) { var slideIn = ObjectAnimator.OfFloat (syncErrorBar, "translationY", 100f, 0f).SetDuration (500); slideIn.AnimationStart += delegate { syncErrorBar.Visibility = ViewStates.Visible; }; currentAnimation = slideIn; currentAnimation.Start (); } else if (!visible && syncErrorBar.Visibility == ViewStates.Visible) { var slideOut = ObjectAnimator.OfFloat (syncErrorBar, "translationY", syncErrorBar.TranslationY, 100f).SetDuration (500); slideOut.AnimationEnd += delegate { syncErrorBar.Visibility = ViewStates.Gone; }; currentAnimation = slideOut; currentAnimation.Start (); } }
void StartQuizFromClickOn(View view) { InitQuizFragment(); FragmentManager.BeginTransaction().Replace(Resource.Id.quiz_fragment_container, quizFragment, FragmentTag).Commit(); View fragmentContainer = FindViewById(Resource.Id.quiz_fragment_container); int centerX = (view.Left + view.Right) / 2; int centerY = (view.Top + view.Bottom) / 2; int finalRadius = Math.Max(fragmentContainer.Width, fragmentContainer.Height); circularReveal = ViewAnimationUtils.CreateCircularReveal( fragmentContainer, centerX, centerY, 0, finalRadius); fragmentContainer.Visibility = ViewStates.Visible; view.Visibility = ViewStates.Gone; EventHandler handler = null; handler += (sender, e) => { icon.Visibility = ViewStates.Gone; circularReveal.AnimationEnd -= handler; }; circularReveal.AnimationEnd += handler; circularReveal.Start(); toolbar.Elevation = 0; }