Exemple #1
0
        /**
         * Reveal the showcaseview. Returns a bool telling us whether we actually did show anything
         *
         * @param activity
         * @return
         */
        public bool Show(Activity activity)
        {
            /**
             * if we're in single use mode and have already shot our bolt then do nothing
             */
            if (_singleUse)
            {
                if (_prefsManager.HasFired())
                {
                    return(false);
                }

                _prefsManager.SetFired();
            }

            //			var view = (_target as ViewTarget)._view;
            //			ViewGroup viewGroup = null;
            //			while (view.Parent is ViewGroup)
            //			{
            //				viewGroup = (ViewGroup)view.Parent;
            //				view = viewGroup;
            //			}
            //
            //			viewGroup?.AddView(this);

            var view = ((ViewGroup)activity.Window.DecorView);

            view?.AddView(this);

            SetShouldRender(true);

            _handler = new Handler();

            _handler.PostDelayed(new Runnable(() =>
            {
                if (_shouldAnimate)
                {
                    AnimateIn();
                }
                else
                {
                    Visibility = ViewStates.Visible;
                    NotifyOnDisplayed();
                }
            }), _delayInMillis);

            UpdateDismissButton();

            return(true);
        }
Exemple #2
0
        private void ShowNextItem()
        {
            if (_showcaseQueue.Count > 0 && !_activity.IsFinishing)
            {
                var sequenceItem = _showcaseQueue.Dequeue();
                sequenceItem.SetDetachedListener(this);
                sequenceItem.Show(_activity);
                _onItemShownListener?.Invoke(sequenceItem, (int)_sequencePosition);
            }
            else

            /**
             * We've reached the end of the sequence, save the fired state
             */
            if (_singleUse)
            {
                _prefsManager.SetFired();
            }
        }
Exemple #3
0
        /**
         * Reveal the showcaseview. Returns a bool telling us whether we actually did show anything
         *
         * @param activity
         * @return
         */
        public bool Show(Activity activity)
        {
            /**
             * if we're in single use mode and have already shot our bolt then do nothing
             */
            if (_singleUse)
            {
                if (_prefsManager.HasFired())
                {
                    return(false);
                }

                _prefsManager.SetFired();
            }

            ((ViewGroup)activity.Window.DecorView).AddView(this);

            SetShouldRender(true);

            _handler = new Handler();

            _handler.PostDelayed(new Runnable(() => {
                if (_shouldAnimate)
                {
                    AnimateIn();
                }
                else
                {
                    Visibility = ViewStates.Visible;
                    NotifyOnDisplayed();
                }
            }), _delayInMillis);

            UpdateDismissButton();

            return(true);
        }