protected override void OnElementChanged(ElementChangedEventArgs <PinItemView> e)
        {
            base.OnElementChanged(e);

            if (e.OldElement != null)
            {
            }

            if (e.NewElement != null)
            {
                if (Control == null)
                {
                    var sideSize = (int)Context.ToPixels(44d);

                    _button = new RippleButton(Context, GetRippleColor());
                    _button.SetWidth(sideSize);
                    _button.SetHeight(sideSize);
                    _button.SetTextColor(GetColor());
                    _button.Background = GetBackgroundDrawable();
                    _button.Text       = Element.Text;
                    _button.Gravity    = Android.Views.GravityFlags.Center;
                    _button.OnClick   += (sender, args) =>
                    {
                        Element?.Command?.Execute(Element?.CommandParameter);
                    };

                    FrameLayout frame = new FrameLayout(Context);
                    FrameLayout.LayoutParams @params = new FrameLayout.LayoutParams(sideSize, sideSize);
                    @params.Gravity = Android.Views.GravityFlags.Center;
                    frame.AddView(_button, @params);

                    SetNativeControl(frame);
                }
            }
        }
        protected override void OnElementChanged(Xamarin.Forms.Platform.Android.ElementChangedEventArgs <PinItemView> e)
        {
            base.OnElementChanged(e);

            if (e.OldElement != null)
            {
            }

            if (e.NewElement != null)
            {
                if (Control == null)
                {
                    var sideSize = (int)ConvertDpToPixel(44);

                    _button = new RippleButton(Context);
                    _button.SetWidth(sideSize);
                    _button.SetHeight(sideSize);
                    //_button.SetBackgroundColor(AColor.Red);
                    _button.SetBackgroundResource(Resource.Drawable.bkg_roundedview);
                    _button.Text     = Element.Text;
                    _button.Gravity  = Android.Views.GravityFlags.Center;
                    _button.OnClick += (sender, args) =>
                    {
                        Element?.Command?.Execute(Element?.CommandParameter);
                    };

                    FrameLayout frame = new FrameLayout(Context);
                    FrameLayout.LayoutParams @params = new FrameLayout.LayoutParams(sideSize, sideSize);
                    @params.Gravity = Android.Views.GravityFlags.Center;
                    frame.AddView(_button, @params);

                    SetNativeControl(frame);
                }
            }
        }
 protected override void Dispose(bool disposing)
 {
     if (disposing)
     {
         _button = null;
     }
     base.Dispose(disposing);
 }