Skip to content

Commit 630475f

Browse files
committed
fix scroll
1 parent dd59799 commit 630475f

File tree

1 file changed

+13
-40
lines changed

1 file changed

+13
-40
lines changed

example/lib/gallery_page.dart

Lines changed: 13 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import 'package:flutter/gestures.dart';
21
import 'package:flutter/material.dart';
32
import 'package:flutter/services.dart';
43
import 'package:material_palette/material_palette.dart';
@@ -15,27 +14,6 @@ class GalleryPage extends StatefulWidget {
1514
}
1615

1716
class _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

Comments
 (0)