From c454764850932c0285960d084c47b3ef4dfdea09 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Thu, 5 Mar 2020 16:20:24 +0900 Subject: [PATCH] album: restored integer column count --- .../sliver_transition_grid_delegate.dart | 0 lib/widgets/album/collection_scaling.dart | 10 +++++----- lib/widgets/album/collection_section.dart | 5 ++--- lib/widgets/album/thumbnail_collection.dart | 2 +- 4 files changed, 8 insertions(+), 9 deletions(-) rename lib/{widgets/album => labs}/sliver_transition_grid_delegate.dart (100%) diff --git a/lib/widgets/album/sliver_transition_grid_delegate.dart b/lib/labs/sliver_transition_grid_delegate.dart similarity index 100% rename from lib/widgets/album/sliver_transition_grid_delegate.dart rename to lib/labs/sliver_transition_grid_delegate.dart diff --git a/lib/widgets/album/collection_scaling.dart b/lib/widgets/album/collection_scaling.dart index 0c159f6a8..6e1cf2056 100644 --- a/lib/widgets/album/collection_scaling.dart +++ b/lib/widgets/album/collection_scaling.dart @@ -11,7 +11,7 @@ import 'package:flutter_sticky_header/flutter_sticky_header.dart'; class GridScaleGestureDetector extends StatefulWidget { final GlobalKey scrollableKey; - final ValueNotifier columnCountNotifier; + final ValueNotifier columnCountNotifier; final Widget child; const GridScaleGestureDetector({ @@ -25,14 +25,14 @@ class GridScaleGestureDetector extends StatefulWidget { } class _GridScaleGestureDetectorState extends State { - double _start; + int _start; ValueNotifier _scaledCountNotifier; OverlayEntry _overlayEntry; ThumbnailMetadata _metadata; RenderSliver _renderSliver; RenderViewport _renderViewport; - ValueNotifier get countNotifier => widget.columnCountNotifier; + ValueNotifier get countNotifier => widget.columnCountNotifier; static const columnCountMin = 2.0; static const columnCountMax = 8.0; @@ -55,7 +55,7 @@ class _GridScaleGestureDetectorState extends State { _renderViewport = firstOf(result); _metadata = renderMetaData.metaData; _start = countNotifier.value; - _scaledCountNotifier = ValueNotifier(_start); + _scaledCountNotifier = ValueNotifier(_start.toDouble()); final gridWidth = scrollableBox.size.width; final halfExtent = gridWidth / _start / 2; @@ -84,7 +84,7 @@ class _GridScaleGestureDetectorState extends State { } if (_scaledCountNotifier == null) return; - final newColumnCount = _scaledCountNotifier.value.roundToDouble(); + final newColumnCount = _scaledCountNotifier.value.round(); _scaledCountNotifier = null; if (newColumnCount == countNotifier.value) return; diff --git a/lib/widgets/album/collection_section.dart b/lib/widgets/album/collection_section.dart index e23d60fed..7345fe443 100644 --- a/lib/widgets/album/collection_section.dart +++ b/lib/widgets/album/collection_section.dart @@ -1,7 +1,6 @@ import 'package:aves/model/image_collection.dart'; import 'package:aves/model/image_entry.dart'; import 'package:aves/widgets/album/sections.dart'; -import 'package:aves/widgets/album/sliver_transition_grid_delegate.dart'; import 'package:aves/widgets/album/thumbnail.dart'; import 'package:aves/widgets/album/transparent_material_page_route.dart'; import 'package:aves/widgets/common/icons.dart'; @@ -13,7 +12,7 @@ import 'package:provider/provider.dart'; class SectionSliver extends StatelessWidget { final ImageCollection collection; final dynamic sectionKey; - final double columnCount; + final int columnCount; const SectionSliver({ Key key, @@ -54,7 +53,7 @@ class SectionSliver extends StatelessWidget { addAutomaticKeepAlives: false, addRepaintBoundaries: true, ), - gridDelegate: SliverTransitionGridDelegateWithCrossAxisCount( + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: columnCount, ), ); diff --git a/lib/widgets/album/thumbnail_collection.dart b/lib/widgets/album/thumbnail_collection.dart index ec6f1364f..1fba53642 100644 --- a/lib/widgets/album/thumbnail_collection.dart +++ b/lib/widgets/album/thumbnail_collection.dart @@ -8,7 +8,7 @@ import 'package:provider/provider.dart'; class ThumbnailCollection extends StatelessWidget { final Widget appBar; final ScrollController _scrollController = ScrollController(); - final ValueNotifier _columnCountNotifier = ValueNotifier(4); + final ValueNotifier _columnCountNotifier = ValueNotifier(4); final GlobalKey _scrollableKey = GlobalKey(); ThumbnailCollection({