bigjoe1
bigjoe1

Reputation: 117

Gradient background for button - Custom Renderer

I have problem with make a Custom Renderer for Button with gradient background in Android project. On iOS I used this code:

public class CustomButtonRenderer : Xamarin.Forms.Platform.iOS.ButtonRenderer
    {
        public override void LayoutSubviews()
        {
            foreach (var layer in Control?.Layer.Sublayers.Where(layer => layer is CAGradientLayer))
                layer.Frame = Control.Bounds;
            base.LayoutSubviews();
        }

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

            if (e.OldElement == null)
            {
                var gradient = new CAGradientLayer();
                gradient.CornerRadius = Control.Layer.CornerRadius = 10;
                gradient.Colors = new CGColor[]
                {
                    UIColor.FromRGB(51, 102, 104).CGColor,
                    UIColor.FromRGB(51, 202, 204).CGColor
                };
                var layer = Control?.Layer.Sublayers.LastOrDefault();
                Control?.Layer.InsertSublayerBelow(gradient, layer);
            }
        }
    }

How can I do the same thing in Android?

Upvotes: 0

Views: 1284

Answers (1)

Venkata Swamy Balaraju
Venkata Swamy Balaraju

Reputation: 1481

May be below link useful for you

https://forums.xamarin.com/discussion/comment/279896#Comment_279896

Upvotes: 1

Related Questions