1- import 'package:flutter/gestures.dart' ;
21import 'package:flutter/material.dart' ;
32import 'package:flutter/services.dart' ;
43import 'package:material_palette/material_palette.dart' ;
@@ -15,27 +14,6 @@ class GalleryPage extends StatefulWidget {
1514}
1615
1716class _GalleryPageState extends State <GalleryPage > {
18- final ScrollController _scrollController = ScrollController ();
19-
20- @override
21- void dispose () {
22- _scrollController.dispose ();
23- super .dispose ();
24- }
25-
26- void _onPointerSignal (PointerSignalEvent event) {
27- if (event is PointerScrollEvent ) {
28- final pos = _scrollController.position;
29- final target = (_scrollController.offset + event.scrollDelta.dy * 8 )
30- .clamp (pos.minScrollExtent, pos.maxScrollExtent);
31- _scrollController.animateTo (
32- target,
33- duration: const Duration (milliseconds: 800 ),
34- curve: Curves .easeOutCubic,
35- );
36- }
37- }
38-
3917 @override
4018 Widget build (BuildContext context) {
4119 final screenWidth = MediaQuery .of (context).size.width;
@@ -49,25 +27,20 @@ class _GalleryPageState extends State<GalleryPage> {
4927 elevation: 0 ,
5028 centerTitle: true ,
5129 ),
52- body: Listener (
53- onPointerSignal: _onPointerSignal,
54- child: GridView .builder (
55- controller: _scrollController,
56- physics: const NeverScrollableScrollPhysics (),
57- padding: const EdgeInsets .all (16 ),
58- gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount (
59- crossAxisCount: 3 ,
60- mainAxisSpacing: 8 ,
61- crossAxisSpacing: 8 ,
62- ),
63- itemCount: galleryPresets.length,
64- itemBuilder: (context, index) {
65- return _GallerySwatch (
66- preset: galleryPresets[index],
67- size: swatchSize,
68- );
69- },
30+ body: GridView .builder (
31+ padding: const EdgeInsets .all (16 ),
32+ gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount (
33+ crossAxisCount: 3 ,
34+ mainAxisSpacing: 8 ,
35+ crossAxisSpacing: 8 ,
7036 ),
37+ itemCount: galleryPresets.length,
38+ itemBuilder: (context, index) {
39+ return _GallerySwatch (
40+ preset: galleryPresets[index],
41+ size: swatchSize,
42+ );
43+ },
7144 ),
7245 );
7346 }
0 commit comments