public MaterialShowcaseView Build() { if (_showcaseView._shape == null) { switch (_shapeType) { case ShapeType.Rectangle: { _showcaseView.SetShape(new RectangleShape(_showcaseView._target.Bounds, _fullWidth)); break; } case ShapeType.Circle: { _showcaseView.SetShape(new CircleShape(_showcaseView._target)); break; } case ShapeType.NoShape: { _showcaseView.SetShape(new NoShape()); break; } default: throw new IllegalArgumentException("Unsupported shape type: " + _shapeType); } } if (_showcaseView._animationFactory != null) { return(_showcaseView); } // create our animation factory if (Android.OS.Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop && !_showcaseView._useFadeAnimation) { _showcaseView.SetAnimationFactory(new CircularRevealAnimationFactory()); } else { _showcaseView.SetAnimationFactory(new FadeAnimationFactory()); } return(_showcaseView); }