Beispiel #1
0
        /// <summary>
        /// Starts displaying all views in order of their insertion into the queue
        /// </summary>
        public async void Show()
        {
            if (mQueue.Count != 0)
            {
                mCurrent = mQueue.Dequeue();
                mCurrentOriginalDismissListener = mCurrent.DismissListener;
                mCurrent.DismissListener        = this;
                mCurrent.Show();

                if (autoRunDelay != null)
                {
                    await Task.Delay((TimeSpan)autoRunDelay);

                    if (mQueue.Count > 0)
                    {
                        mCurrent.Hide();
                    }
                    else if (mQueue.Count == 0 && autoRunClosesQueue)
                    {
                        mCurrent.Hide();
                    }
                }
            }
            else if (QueueCompleted != null)
            {
                QueueCompleted.Invoke(this, new EventArgs()
                {
                });
            }
        }
        public override void OnDismiss(IDialogInterface dialog)
        {
            base.OnDismiss(dialog);

            if (DismissListener != null)
            {
                DismissListener.OnDismiss(dialog);
            }
        }
        private ShowCaseView(Context mActivity, string mTitle, ISpanned mSpannedTitle, string mId, double mFocusCircleRadiusFactor, View mView, Color mBackgroundColor, Color mFocusBorderColor, int mTitleGravity, int mTitleStyle, int mTitleSize, int mTitleSizeUnit, int mCustomViewRes, int mFocusBorderSize, int mRoundRectRadius, OnViewInflateListener mViewInflateListener, Animation mEnterAnimation, Animation mExitAnimation, AnimationListener mAnimationListener, bool mCloseOnTouch, bool mEnableTouchOnFocusedView, bool mFitSystemWindows, FocusShape mFocusShape, DismissListener mDismissListener, long mDelay, int mFocusAnimationMaxValue, int mFocusAnimationStep, int mFocusPositionX, int mFocusPositionY, int mFocusCircleRadius, int mFocusRectangleWidth, int mFocusRectangleHeight, bool mFocusAnimationEnabled, int mAnimationDuration = 400, int mCenterX = 0, int mCenterY = 0, ViewGroup mRoot = null, ISharedPreferences mSharedPreferences = null, Calculator mCalculator = null, float[] mLastTouchDownXY = null) : base(mActivity)
        {
            this.mActivity                 = (mActivity as Activity);
            this.mTitle                    = mTitle;
            this.mSpannedTitle             = mSpannedTitle;
            this.mId                       = mId;
            this.mFocusCircleRadiusFactor  = mFocusCircleRadiusFactor;
            this.mView                     = mView;
            this.mBackgroundColor          = mBackgroundColor;
            this.mFocusBorderColor         = mFocusBorderColor;
            this.mTitleGravity             = mTitleGravity;
            this.mTitleStyle               = mTitleStyle;
            this.mTitleSize                = mTitleSize;
            this.mTitleSizeUnit            = mTitleSizeUnit;
            this.mCustomViewRes            = mCustomViewRes;
            this.mFocusBorderSize          = mFocusBorderSize;
            this.mRoundRectRadius          = mRoundRectRadius;
            this.mViewInflateListener      = mViewInflateListener;
            this.mEnterAnimation           = mEnterAnimation;
            this.mExitAnimation            = mExitAnimation;
            this.mAnimationListener        = mAnimationListener;
            this.mCloseOnTouch             = mCloseOnTouch;
            this.mEnableTouchOnFocusedView = mEnableTouchOnFocusedView;
            this.mFitSystemWindows         = mFitSystemWindows;
            this.mFocusShape               = mFocusShape;
            this.mDismissListener          = mDismissListener;
            this.mDelay                    = mDelay;
            this.mAnimationDuration        = mAnimationDuration;
            this.mFocusAnimationMaxValue   = mFocusAnimationMaxValue;
            this.mFocusAnimationStep       = mFocusAnimationStep;
            this.mCenterX                  = mCenterX;
            this.mCenterY                  = mCenterY;
            this.mRoot                     = mRoot;
            this.mSharedPreferences        = mSharedPreferences;
            this.mCalculator               = mCalculator;
            this.mFocusPositionX           = mFocusPositionX;
            this.mFocusPositionY           = mFocusPositionY;
            this.mFocusCircleRadius        = mFocusCircleRadius;
            this.mFocusRectangleWidth      = mFocusRectangleWidth;
            this.mFocusRectangleHeight     = mFocusRectangleHeight;
            this.mLastTouchDownXY          = mLastTouchDownXY;
            this.mFocusAnimationEnabled    = mFocusAnimationEnabled;

            InitializeParameters();
        }
Beispiel #4
0
 /// <summary>
 /// Default constructor
 /// </summary>
 public ShowCaseQueue()
 {
     mQueue = new Queue <ShowCaseView>();
     mCurrentOriginalDismissListener = null;
 }
 /// <summary>
 /// Set the dismiss listener
 /// </summary>
 /// <param name="dismissListener"></param>
 /// <returns></returns>
 public Builder SetDismissListener(DismissListener dismissListener)
 {
     mDismissListener = dismissListener;
     return(this);
 }