Пример #1
0
        //public AppShowcaseView(Context context, IAttributeSet attrs)
        //    : base(context, attrs)
        //{
        //    Setup(context);
        //}
        //
        //public AppShowcaseView(Context context, IAttributeSet attrs, int defStyleAttr)
        //    : base(context, attrs, defStyleAttr)
        //{
        //    Setup(context);
        //}
        //
        //// TODO: @TargetApi(android.os.Build.VERSION_CODES.LOLLIPOP) 
        //public AppShowcaseView(Context context, IAttributeSet attrs, int defStyleAttr, int defStyleRes)
        //    : base(context, attrs, defStyleAttr, defStyleRes)
        //{
        //    Setup(context);
        //}
        private void Setup(Context context)
        {
            AnimateInitialStep = true;
            handler = new Handler();
            Visibility = ViewStates.Invisible;
            SetWillNotDraw(false);
            // create our default animation factory
            animationFactory = new FadeRenderer();

            // make sure we add a global layout listener so we can adapt to changes
            AttachLayoutListener();

            // consume touch events
            Touch += (sender, e) =>
            {
                if (e.Event.Action == MotionEventActions.Up && CurrentStep.DismissOnTouch)
                {
                    DismissStep();
                }
                e.Handled = true;
            };

            View contentView = LayoutInflater.From(Context).Inflate(Resource.Layout.showcase_content, this, true);
            contentContainer = contentView.FindViewById(Resource.Id.content_box);
            this.contentView = contentView.FindViewById<TextView>(Resource.Id.tv_content);
            dismissView = contentView.FindViewById<TextView>(Resource.Id.tv_dismiss);
            dismissView.Click += delegate
            {
                DismissStep();
            };
        }