Browse Source

rearrange widget tree to avoid re initializing elements of child wiget in DraggableScrollbar when it's enabled property changes. This was causing memories to rebuild when draggableScrollbar is enabled when all files are loaded in gallery

ashilkn 1 year ago
parent
commit
1ab8d942cc
1 changed files with 8 additions and 10 deletions
  1. 8 10
      lib/ui/huge_listview/draggable_scrollbar.dart

+ 8 - 10
lib/ui/huge_listview/draggable_scrollbar.dart

@@ -103,16 +103,14 @@ class DraggableScrollbarState extends State<DraggableScrollbar>
 
   @override
   Widget build(BuildContext context) {
-    if (widget.isEnabled) {
-      return Stack(
-        children: [
-          RepaintBoundary(child: widget.child),
-          RepaintBoundary(child: buildThumb()),
-        ],
-      );
-    } else {
-      return widget.child;
-    }
+    return Stack(
+      children: [
+        RepaintBoundary(child: widget.child),
+        widget.isEnabled
+            ? RepaintBoundary(child: buildThumb())
+            : const SizedBox.shrink(),
+      ],
+    );
   }
 
   Widget buildThumb() => Padding(