diff --git a/src/Material.Components.Maui/Components/Layouts/AutoFillLayout.cs b/src/Material.Components.Maui/Components/Layouts/AutoFillLayout.cs index fc66e68..630407f 100644 --- a/src/Material.Components.Maui/Components/Layouts/AutoFillLayout.cs +++ b/src/Material.Components.Maui/Components/Layouts/AutoFillLayout.cs @@ -21,28 +21,14 @@ public override Size Measure(double widthConstraint, double heightConstraint) { this.childrenSizes.Clear(); - var maxWidth = 0d; - var maxHeight = 0d; - - foreach (var item in layout.Children) - { - var size = item.Measure(widthConstraint, heightConstraint); - maxWidth += size.Width; - maxHeight = Math.Max(maxHeight, size.Height); - this.childrenSizes.Add(size); - } - - maxWidth = - widthConstraint != double.PositiveInfinity - ? Math.Max(maxWidth, widthConstraint) - : maxWidth; - var childrenWidth = Math.Ceiling(maxWidth / layout.Children.Count); - for (var i = 0; i < this.childrenSizes.Count; i++) + var childrenWidth = Math.Ceiling(widthConstraint / layout.Children.Count); + for (var i = 0; i < layout.Children.Count; i++) { - this.childrenSizes[i] = new Size(childrenWidth, maxHeight); + this.childrenSizes.Add(new Size(childrenWidth, heightConstraint)); + layout.Children[i].Measure(childrenWidth, heightConstraint); } - return new Size(maxWidth, maxHeight); + return new Size(widthConstraint, heightConstraint); } public override Size ArrangeChildren(Rect bounds)