From 629be129ffddb463a240d89eb8413d80dcc91053 Mon Sep 17 00:00:00 2001 From: bggRGjQaUbCoE Date: Thu, 14 Aug 2025 17:25:33 +0800 Subject: [PATCH] opt dyn Signed-off-by: bggRGjQaUbCoE --- lib/pages/dynamics/widgets/video_panel.dart | 3 +++ lib/utils/waterfall.dart | 16 +++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/lib/pages/dynamics/widgets/video_panel.dart b/lib/pages/dynamics/widgets/video_panel.dart index 4d7f47b1..f70a9485 100644 --- a/lib/pages/dynamics/widgets/video_panel.dart +++ b/lib/pages/dynamics/widgets/video_panel.dart @@ -57,6 +57,9 @@ Widget videoSeasonWidget( } Widget buildCover() { + if (floor == 1) { + maxWidth -= 24; + } return Stack( clipBehavior: Clip.none, children: [ diff --git a/lib/utils/waterfall.dart b/lib/utils/waterfall.dart index 857c6ae8..1d29adb0 100644 --- a/lib/utils/waterfall.dart +++ b/lib/utils/waterfall.dart @@ -41,15 +41,17 @@ class SliverWaterfallFlowDelegateWithMaxCrossAxisExtent @override int getCrossAxisCount(SliverConstraints constraints) { - if (crossAxisCount != null && - constraints.crossAxisExtent == crossAxisExtent) { + final crossAxisExtent = constraints.crossAxisExtent; + if (crossAxisCount != null && this.crossAxisExtent == crossAxisExtent) { return crossAxisCount!; } - crossAxisExtent = constraints.crossAxisExtent; - crossAxisCount = - (constraints.crossAxisExtent / (maxCrossAxisExtent + crossAxisSpacing)) - .ceil(); - callback?.call(constraints.crossAxisExtent / crossAxisCount!); + this.crossAxisExtent = crossAxisExtent; + crossAxisCount = (crossAxisExtent / (maxCrossAxisExtent + crossAxisSpacing)) + .ceil(); + callback?.call( + (crossAxisExtent - ((crossAxisCount! - 1) * crossAxisSpacing)) / + crossAxisCount!, + ); return crossAxisCount!; }