album: restored integer column count
This commit is contained in:
parent
164ac3a144
commit
c454764850
4 changed files with 8 additions and 9 deletions
|
@ -11,7 +11,7 @@ import 'package:flutter_sticky_header/flutter_sticky_header.dart';
|
|||
|
||||
class GridScaleGestureDetector extends StatefulWidget {
|
||||
final GlobalKey scrollableKey;
|
||||
final ValueNotifier<double> columnCountNotifier;
|
||||
final ValueNotifier<int> columnCountNotifier;
|
||||
final Widget child;
|
||||
|
||||
const GridScaleGestureDetector({
|
||||
|
@ -25,14 +25,14 @@ class GridScaleGestureDetector extends StatefulWidget {
|
|||
}
|
||||
|
||||
class _GridScaleGestureDetectorState extends State<GridScaleGestureDetector> {
|
||||
double _start;
|
||||
int _start;
|
||||
ValueNotifier<double> _scaledCountNotifier;
|
||||
OverlayEntry _overlayEntry;
|
||||
ThumbnailMetadata _metadata;
|
||||
RenderSliver _renderSliver;
|
||||
RenderViewport _renderViewport;
|
||||
|
||||
ValueNotifier<double> get countNotifier => widget.columnCountNotifier;
|
||||
ValueNotifier<int> get countNotifier => widget.columnCountNotifier;
|
||||
|
||||
static const columnCountMin = 2.0;
|
||||
static const columnCountMax = 8.0;
|
||||
|
@ -55,7 +55,7 @@ class _GridScaleGestureDetectorState extends State<GridScaleGestureDetector> {
|
|||
_renderViewport = firstOf<RenderViewport>(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<GridScaleGestureDetector> {
|
|||
}
|
||||
if (_scaledCountNotifier == null) return;
|
||||
|
||||
final newColumnCount = _scaledCountNotifier.value.roundToDouble();
|
||||
final newColumnCount = _scaledCountNotifier.value.round();
|
||||
_scaledCountNotifier = null;
|
||||
if (newColumnCount == countNotifier.value) return;
|
||||
|
||||
|
|
|
@ -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,
|
||||
),
|
||||
);
|
||||
|
|
|
@ -8,7 +8,7 @@ import 'package:provider/provider.dart';
|
|||
class ThumbnailCollection extends StatelessWidget {
|
||||
final Widget appBar;
|
||||
final ScrollController _scrollController = ScrollController();
|
||||
final ValueNotifier<double> _columnCountNotifier = ValueNotifier(4);
|
||||
final ValueNotifier<int> _columnCountNotifier = ValueNotifier(4);
|
||||
final GlobalKey _scrollableKey = GlobalKey();
|
||||
|
||||
ThumbnailCollection({
|
||||
|
|
Loading…
Reference in a new issue