From 452406643a469ac2ecc5fee7a16cac305b6fe008 Mon Sep 17 00:00:00 2001 From: Matej Knopp Date: Mon, 1 Jan 2024 12:36:23 +0100 Subject: [PATCH] feat: use super_sliver_list in example --- super_drag_and_drop/example/lib/main.dart | 18 +++++++++++++----- super_drag_and_drop/example/pubspec.lock | 8 ++++++++ super_drag_and_drop/example/pubspec.yaml | 1 + 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/super_drag_and_drop/example/lib/main.dart b/super_drag_and_drop/example/lib/main.dart index 20420785..fce51334 100644 --- a/super_drag_and_drop/example/lib/main.dart +++ b/super_drag_and_drop/example/lib/main.dart @@ -6,6 +6,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:super_drag_and_drop/super_drag_and_drop.dart'; import 'package:super_clipboard_example/widget_for_reader.dart'; +import 'package:super_sliver_list/super_sliver_list.dart'; void main() async { runApp(const MyApp()); @@ -413,11 +414,18 @@ class _DropZoneState extends State<_DropZone> { buildWidgetsForReaders(context, readers, (value) { setState(() { - _content = ListView( - padding: const EdgeInsets.all(10), - children: value - .intersperse(const SizedBox(height: 10)) - .toList(growable: false), + // Use super_sliver_list to get around bad sliver list performance + // with large amount if items. + final delegate = SliverChildListDelegate(value + .intersperse(const SizedBox(height: 10)) + .toList(growable: false)); + _content = CustomScrollView( + slivers: [ + SliverPadding( + padding: const EdgeInsets.all(10), + sliver: SuperSliverList(delegate: delegate), + ) + ], ); }); }); diff --git a/super_drag_and_drop/example/pubspec.lock b/super_drag_and_drop/example/pubspec.lock index 404bc733..57cc1cd1 100644 --- a/super_drag_and_drop/example/pubspec.lock +++ b/super_drag_and_drop/example/pubspec.lock @@ -296,6 +296,14 @@ packages: relative: true source: path version: "0.8.1" + super_sliver_list: + dependency: "direct main" + description: + name: super_sliver_list + sha256: "6729ea1f44c678978e9f3121de4f2cbf2feaaa49d1fb8a0a69c05c4db2cdeb86" + url: "https://pub.dev" + source: hosted + version: "0.0.8" term_glyph: dependency: transitive description: diff --git a/super_drag_and_drop/example/pubspec.yaml b/super_drag_and_drop/example/pubspec.yaml index f7ef25d7..fd46d16f 100644 --- a/super_drag_and_drop/example/pubspec.yaml +++ b/super_drag_and_drop/example/pubspec.yaml @@ -37,6 +37,7 @@ dependencies: super_clipboard_example: path: ../../super_clipboard/example super_context_menu: ^0.8.1 + super_sliver_list: ^0.0.8 # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons.