コード例 #1
0
 private long CalculateCroutonDuration(Crouton crouton)
 {
     long croutonDuration = crouton.DurationInMilliseconds;
     croutonDuration += crouton.GetInAnimation().Duration;
     croutonDuration += crouton.GetOutAnimation().Duration;
     return croutonDuration;
 }
コード例 #2
0
ファイル: Manager.cs プロジェクト: sk8tz/Toasts.Forms.Plugin
        private long CalculateCroutonDuration(Crouton crouton)
        {
            long croutonDuration = crouton.DurationInMilliseconds;

            croutonDuration += crouton.GetInAnimation().Duration;
            croutonDuration += crouton.GetOutAnimation().Duration;
            return(croutonDuration);
        }
コード例 #3
0
        public void RemoveCrouton(Crouton crouton)
        {
            View croutonView = crouton.GetView();
            var croutonParentView = (ViewGroup) croutonView.Parent;

            if (null != croutonParentView)
            {
                croutonView.StartAnimation(crouton.GetOutAnimation());

                // Remove the Crouton from the queue.
                var removed = (Crouton) _croutonQueue.Poll();

                // Remove the crouton from the view's parent.
                croutonParentView.RemoveView(croutonView);
                if (null != removed)
                {
                    removed.DetachActivity();
                    removed.OnRemoved();
                    removed.DetachLifecycleCallback();
                }

                // Send a message to display the next crouton but delay it by the out
                // animation duration to Make sure it finishes
                SendMessageDelayed(crouton, DISPLAY_CROUTON, crouton.GetOutAnimation().Duration);
            }
        }