From 79e76534ee669eed93e75c331a0460157e99ab46 Mon Sep 17 00:00:00 2001 From: Eric Onyeulo <92947118+Enri-code@users.noreply.github.com> Date: Tue, 1 Feb 2022 13:53:35 +0100 Subject: [PATCH] Overrode computeDryLayout method which fixes error --- zflutter/lib/src/core/render/render_box.dart | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/zflutter/lib/src/core/render/render_box.dart b/zflutter/lib/src/core/render/render_box.dart index be3c9d4..8e272b4 100644 --- a/zflutter/lib/src/core/render/render_box.dart +++ b/zflutter/lib/src/core/render/render_box.dart @@ -8,8 +8,11 @@ class RenderZBox extends RenderBox { ZVector origin = ZVector.zero; void performSort() { - sortValue = this.origin.z; + sortValue = origin.z; } + + @override + Size computeDryLayout(BoxConstraints constraints) => constraints.biggest; } enum SortMode { inherit, stack, update } @@ -72,9 +75,11 @@ class RenderZMultiChildBox extends RenderZBox @override void performSort() { if (sortMode == SortMode.stack || sortMode == SortMode.update) { - final children = getFlatChildren(); - sortValue = children.fold(0, - (previousValue, element) => previousValue + element.sortValue) / + final List children = getFlatChildren(); + sortValue = children.fold( + 0, + (double previousValue, RenderZBox element) => + previousValue + element.sortValue) / children.length; } else { super.performSort(); @@ -87,7 +92,7 @@ class RenderZMultiChildBox extends RenderZBox SortMode sortMode; List getFlatChildren() { - List children = []; + final List children = []; RenderZBox child = firstChild; @@ -120,7 +125,7 @@ class RenderZMultiChildBox extends RenderZBox List children = getFlatChildren(); //List children = getChildrenAsList() if (sortMode != SortMode.stack) { - children..sort((a, b) => a.sortValue.compareTo(b.sortValue)); + children.sort((a, b) => a.sortValue.compareTo(b.sortValue)); } for (final child in children) { final ZParentData childParentData = child.parentData as ZParentData;