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 năm trước cách đây
mục cha
commit
1ab8d942cc
1 tập tin đã thay đổi với 8 bổ sung10 xóa
  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(