GradientLayer.StartPoint = new CGPoint(0, 1) GradientLayer.EndPoint = new CGPoint(0, 0) GradientLayer.StartPoint = new CGPoint(1, 1) GradientLayer.EndPoint = new CGPoint(0.5, 1) GradientLayer.StartPoint = new CGPoint(0.5, 0) GradientLayer.EndPoint = new CGPoint(0.5, 0) GradientLayer.StartPoint = new CGPoint(0.5, 1) GradientLayer.EndPoint = new CGPoint(0, 0.5) GradientLayer.StartPoint = new CGPoint(1, 0.5) GradientLayer.EndPoint = new CGPoint(1, 0.5) GradientLayer.StartPoint = new CGPoint(0, 0.5) Locations = effect.LocationList?.Select(i => new NSNumber(i)).ToArray() Var colors = (i => i.ToCGColor()).ToArray() Var effect = (GradientEffect) (e => e is GradientEffect) Public class IosGradientEffect : PlatformEffect Public float LocationList => Locations.Split(',').Select(float.Parse).ToArray() Public Color ColorList => Colors.Split(',').Select(i => Color.FromHex(i.Trim())).ToArray() Public GradientEffect() : base("YourCompany.GradientEffect") Public class GradientEffect : RoutingEffect In the NetStandard lib using System.Linq I added a location system to tune where each color starts and ends in the gradient - 0 absolute beginning / 1 absolute end. Var shader = SKShader.CreateLinearGradient(startPoint, endPoint, colors, null, SKShaderTileMode.Clamp) Ĭanvas.DrawRect(new SKRect(0, 0, info.Width, info.Height), paint) Įffects can be attached to different component, are fully reusable, and don't force you to subclass Forms components. SKPoint endPoint = Horizontal ? new SKPoint(info.Width, 0) : new SKPoint(0, info.Height) var gradientLayer = new CAGradientLayer() Var gradientLayer = new CAGradientLayer() GradientColorStack stack = (GradientColorStack)this.Element ĬGColor startColor = () ĬGColor endColor = () Var stack = e.NewElement as GradientColorStack If (e.OldElement != null || Element = null) Protected override void OnElementChanged(ElementChangedEventArgs e) Var gradient = new (0, 0, Width, 0,Ī.Mirror) Protected override void DispatchDraw(global:: canvas) Public class GradientColorStackRenderer : VisualElementRenderer Public class GradientColorStack : StackLayout In below code we can set Horizontal and Vertical Gradient(I put it in #region) for any Layout in below I write for StackLayout if you want to write another Layout just replace your Layout on StackLayout.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |